Database
 sql >> Teknologi Basis Data >  >> RDS >> Database

Cara Memfilter Catatan dengan Fungsi Agregat COUNT

Masalah:

Anda ingin menemukan grup baris dengan jumlah entri tertentu dalam grup.

Contoh:

Basis data kami memiliki tabel bernama product dengan data pada kolom berikut:id , name dan category .

id nama kategori
1 sofa mebel
2 sarung tangan pakaian
3 Kaos pakaian
4 kursi mebel
5 meja mebel
6 tonton elektronik
7 kursi berlengan mebel
8 rok pakaian
9 penerima radio elektronik

Mari temukan kategori produk dengan lebih dari dua entri.

Solusi:

SELECT category, COUNT(id)
FROM product
GROUP BY category
HAVING COUNT(id)>2;

Berikut adalah hasilnya:

kategori hitung
furnitur 4
pakaian 3

Diskusi:

Untuk memfilter record menurut jumlah baris yang diberikan dalam grup, gunakan klausa HAVING. Ini memfilter baris menggunakan fungsi agregat kondisi seperti COUNT. Pertama, di SELECT, gunakan nama kolom atau kolom untuk mengelompokkan baris (ini adalah kategori dalam contoh kita), lalu tempatkan fungsi agregat COUNT, yang menghitung jumlah record di setiap grup. Untuk menghitung jumlah baris, gunakan kolom id yang menyimpan nilai unik (dalam contoh kami, kami menggunakan COUNT(id) ). Selanjutnya, gunakan klausa GROUP BY untuk mengelompokkan record menurut kolom (GROUP BY kategori di atas). Setelah menggunakan GROUP BY untuk memfilter record dengan fungsi agregat seperti COUNT, gunakan klausa HAVING. Itu selalu digunakan setelah klausa GROUP BY. Dalam HAVING, kami menggunakan kondisi untuk membandingkan nilai dengan nilai yang dikembalikan oleh fungsi agregat. Dalam contoh, kami membandingkan apakah COUNT(id) mengembalikan nilai yang lebih tinggi dari dua. Jika benar, kategori dikembalikan dengan jumlah produk.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. FieldShield SDK

  2. Tips untuk Baca/Tulis Kunci Tergantung pada Tingkat Isolasi Transaksi di MSSQL

  3. Diagram ER di Meja Kerja IRI

  4. Memuat Data Besar Lebih Cepat

  5. Bug T-SQL, perangkap, dan praktik terbaik – fungsi jendela