Trung BìnhDatabase iconDatabase

Aggregate functions trong SQL là gì? Các hàm phổ biến?

Aggregate functions gộp nhiều rows thành một giá trị.

  • NULL behavior quan trọng: COUNT(*) đếm tất cả rows kể cả NULL; COUNT(col) bỏ qua NULL — COUNT(phone) cho biết bao nhiêu users có số điện thoại; SUM/AVG/MAX/MIN đều bỏ qua NULL.
  • DISTINCT trong aggregates: COUNT(DISTINCT city) đếm số cities duy nhất, SUM(DISTINCT amount) tổng các giá trị không trùng.
  • STRING_AGG (PostgreSQL): STRING_AGG(tag, ', ' ORDER BY tag) nối values thành string trong group — SELECT post_id, STRING_AGG(tag_name, ',') FROM post_tags GROUP BY post_id.
  • ARRAY_AGG: ARRAY_AGG(email ORDER BY created_at) tạo array từ group values.
  • Conditional aggregation với FILTER: COUNT() FILTER (WHERE status = 'active') AS active_count, COUNT() FILTER (WHERE status = 'inactive') AS inactive_count — pivot-style aggregation trong một query thay vì nhiều subqueries.
  • PERCENTILE: PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY salary) tính median — không bị ảnh hưởng bởi outliers như AVG.

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

Mở danh sách Database