Trung BìnhDatabase iconDatabase

GROUP BY trong SQL dùng để làm gì? Cho ví dụ?

GROUP BY nhóm rows có cùng giá trị thành groups, mỗi group trả về một row.

  • Quy tắc bắt buộc: mọi column trong SELECT phải hoặc là trong GROUP BY hoặc là aggregate function — SELECT dept, name, COUNT(*) GROUP BY dept lỗi vì name không trong GROUP BY và không phải aggregate (PostgreSQL strict, MySQL lenient).

Ví dụ thực tế: SELECT category, COUNT(*) as total, AVG(price) as avg_price, MAX(price) as max_price FROM products GROUP BY category ORDER BY total DESC.

Pitfall: GROUP BY column không có index → full scan + sort — cân nhắc thêm index.

Xem toàn bộ Database cùng filter theo level & chủ đề con.

Mở danh sách Database