In this guide we will explain how to use the MySQL GROUP BY clause with syntax and examples.
Description
The MySQL GROUP BY clause is used in a SELECT statement to collect data across multiple records and group the results by one or more columns.
Syntax
The syntax for the GROUP BY clause in MySQL is:
SELECT expression1, expression2, ... expression_n, aggregate_function (expression) FROM tables [WHERE conditions] GROUP BY expression1, expression2, ... expression_n;
Parameters or Arguments
expression1, expression2, … expression_nThe expressions that are not encapsulated within an aggregate function and must be included in the GROUP BY clause.aggregate_functionA function such as SUM, COUNT, MIN, MAX, or AVG functions.tablesThe tables that you wish to retrieve records from. There must be at least one table listed in the FROM clause.WHERE conditionsOptional. The conditions that must be met for the records to be selected.
Example – Using SUM function
Let’s look at a MySQL GROUP BY query example that uses the SUM function.
This MySQL GROUP BY example uses the SUM function to return the name of the product and the total quantity (for the product).
SELECT product, SUM(quantity) AS "Total quantity" FROM order_details GROUP BY product;
Because you have listed one column (the product field) in your SELECT statement that is not encapsulated in the SUM function, you must use the GROUP BY Clause. The product field must, therefore, be listed in the GROUP BY clause.
Example – Using COUNT function
Let’s look at how we could use the GROUP BY clause with the COUNT function in MySQL.
This GROUP BY example uses the COUNT function to return the product and the number of orders (for that product) that are in the produce category.
SELECT product, COUNT(*) AS "Number of orders" FROM order_details WHERE category = 'produce' GROUP BY product;
Example – Using MIN function
Let’s next look at how we could use the GROUP BY clause with the MIN function in MySQL.
This GROUP BY example uses the MIN function to return the name of each department and the minimum salary in the department.
SELECT department, MIN(salary) AS "Lowest salary" FROM employees GROUP BY department;
Example – Using MAX function
Finally, let’s look at how we could use the GROUP BY clause with the MAX function in MySQL.
This GROUP BY example uses the MAX function to return the name of each department and the maximum salary in the department.
SELECT department, MAX(salary) AS "Highest salary" FROM employees GROUP BY department;
Next Topic : Click Here
Pingback: MySQL: FROM Clause | Adglob Infosystem Pvt Ltd
Pingback: MySQL: HAVING Clause | Adglob Infosystem Pvt Ltd
Pingback: MySQL: SELECT Statement | Adglob Infosystem Pvt Ltd