Can Multiple Columns Be Used in GROUP BY

Q

Can Multiple Columns Be Used in GROUP BY? - MySQL FAQs - SQL SELECT Query Statements with GROUP BY

✍: FYIcenter.com

A

If you want to break your output into smaller groups, if you specify multiple column names or expressions in the GROUP BY clause. Output in each group must satisfy a specific combination of the expressions listed in the GROUP BY clause. The more columns or expressions entered in the GROUP BY clause, the smaller the groups will be.

The tutorial exercise below shows you how to break data into groups per "tag" and per year when they were created. Then the group function COUNT(*) is applied on each group:

mysql> SELECT tag, YEAR(created), COUNT(*) 
   FROM fyi_links GROUP BY tag, YEAR(created);
+------+---------------+----------+
| tag  | YEAR(created) | COUNT(*) |
+------+---------------+----------+
| DBA  |          2005 |        1 |
| DBA  |          2006 |        2 |
| DEV  |          2004 |        1 |
| DEV  |          2006 |        1 |
| SQA  |          2003 |        1 |
| SQA  |          2006 |        1 |
+------+---------------+----------+
6 rows in set (0.00 sec)

2007-05-11, 5124👍, 0💬