Pelajaran 22 / 37 · Pengelompokan

Agregat tanpa GROUP BY menghasilkan satu grup

Kalau ada agregat tetapi tidak ada GROUP BY, seluruh baris menjadi satu grup dan hasilnya satu baris. dequery tetap menampilkan langkah GROUP BY: satu pita yang berisi semua baris. Karena itu pula SELECT status, count(*) FROM orders menghasilkan error: status tidak punya satu nilai tunggal untuk grup itu.

Query-nya

SELECT count(*) AS orders, sum(amount) AS revenue, avg(amount) AS average
FROM orders
WHERE status = 'paid'

Coba tambahkan GROUP BY customer_id: satu grup itu terpecah menjadi 8, satu per pelanggan.

Berikutnya: count(*), count(col) dan count(DISTINCT col) menghitung hal yang berbeda · Semua pelajaran