SQL Group By
The SQL GROUP BY is used when at least one of the aggregation functions is used in a select query.
The aggregate functions are: count, max, min, sum, avg.
Group By syntax
SELECT column_name1, column_name2, function(column_name1)
FROM table_name
GROUP BY column_name1, column_name2
Group By example
Coder books table
| ID | Title | Price | Description | 
| 1 | Learn SQL | 20 | Learn SQL language | 
| 2 | Learn MySQL | 22 | Learn MySQL language | 
| 3 | HTML book | 17 | Learn HTML | 
| 4 | Learn PHP | 20 | Introduction to PHP | 
| 5 | Learn PHP | 20 | PHP course | 
SELECT id, title, price, count(price) p_count
FROM coder_books
GROUP BY id, title, price
Result
| ID | Title | Price | p_count | 
| 1 | Learn SQL | 20 | 1 | 
| 2 | Learn MySQL | 22 | 1 | 
| 3 | HTML book | 17 | 1 | 
| 4 | Learn PHP | 20 | 1 | 
| 5 | Learn PHP | 20 | 1 | 
SELECT price, count(price) p_count
FROM coder_books
GROUP BY price
HAVING count(*) > 0
Result
| Price | p_count | 
| 17 | 1 | 
| 20 | 3 | 
| 22 | 1 |