How Does SQL's GROUP BY Clause Work with Multiple Columns?
Jan 22, 2025 am 05:16 AMSQL's GROUP BY
with Multiple Columns: A Detailed Explanation
The SQL GROUP BY
clause efficiently groups rows sharing common values, enabling aggregate function calculations on these groups. While single-column grouping is straightforward, multi-column grouping adds a layer of complexity and power.
Understanding GROUP BY x, y
The syntax GROUP BY x, y
groups rows where both columns x
and y
have identical values. The aggregate functions in your query are then computed for each distinct combination of x
and y
values.
Illustrative Example
Let's examine the Subject_Selection
table, tracking student attendance across subjects and semesters:
Subject | Semester | Attendee |
---|---|---|
ITB001 | 1 | John |
ITB001 | 1 | Bob |
ITB001 | 1 | Mickey |
ITB001 | 2 | Jenny |
ITB001 | 2 | James |
MKB114 | 1 | John |
MKB114 | 1 | Erica |
Grouping by Subject Only
The query:
SELECT Subject, COUNT(*) FROM Subject_Selection GROUP BY Subject;
Produces:
Subject | Count |
---|---|
ITB001 | 5 |
MKB114 | 2 |
This summarizes total attendance per subject.
Grouping by Subject and Semester
Now, consider this query:
SELECT Subject, Semester, COUNT(*) FROM Subject_Selection GROUP BY Subject, Semester;
This yields:
Subject | Semester | Count |
---|---|---|
ITB001 | 1 | 3 |
ITB001 | 2 | 2 |
MKB114 | 1 | 2 |
This provides a more granular view, showing attendance counts for each subject and semester combination. Notice how the results are now grouped by the unique pairings of Subject and Semester. This demonstrates the power of using multiple columns in the GROUP BY
clause to achieve more refined data aggregation.
The above is the detailed content of How Does SQL's GROUP BY Clause Work with Multiple Columns?. For more information, please follow other related articles on the PHP Chinese website!

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Reduce the use of MySQL memory in Docker

How do you alter a table in MySQL using the ALTER TABLE statement?

How to solve the problem of mysql cannot open shared library

What is SQLite? Comprehensive overview

Run MySQl in Linux (with/without podman container with phpmyadmin)

Running multiple MySQL versions on MacOS: A step-by-step guide

How do I secure MySQL against common vulnerabilities (SQL injection, brute-force attacks)?

How do I configure SSL/TLS encryption for MySQL connections?
