GROUP BY

Aggregation

Groups rows that have the same values, typically used with aggregate functions (COUNT, SUM, AVG).

Syntax

SELECT col, AGG(col) FROM table GROUP BY col

Example

SELECT department, COUNT(*) as count,
       AVG(salary) as avg_salary
FROM employees
GROUP BY department;

About SQL GROUP BY

The GROUP BY keyword belongs to the Aggregation category of SQL statements. Groups rows that have the same values, typically used with aggregate functions (COUNT, SUM, AVG). Understanding this command is essential for any developer working with relational databases like PostgreSQL, MySQL, SQLite, or SQL Server.

SQL (Structured Query Language) is the standard language for managing and querying relational databases. The GROUP BY statement is supported across all major database systems, though specific syntax may vary slightly between PostgreSQL, MySQL, MariaDB, Oracle, SQL Server, and SQLite. Always consult your database's documentation for vendor-specific features and limitations.

Best practices for using GROUP BY: always test queries on a development database before running them in production, use parameterized queries to prevent SQL injection, and leverage EXPLAIN to understand query performance. For complex queries, consider using CTEs (Common Table Expressions) to improve readability and maintainability.

Related SQL Keywords