Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menapis Keputusan Pertanyaan SQL Berdasarkan Kiraan Baris Dalam Kumpulan?
Menapis mengikut Kiraan: Menggunakan HAVING untuk Penapisan Pertanyaan Agregat
Dalam SQL, adalah mungkin untuk menapis data berdasarkan bilangan baris yang sepadan kriteria tertentu. Untuk mencapainya, anda boleh menggunakan klausa HAVING bersama-sama dengan fungsi agregat seperti COUNT(*).
Soalan:
Bolehkah anda mengumpulkan hasil dan menapis mengikut nombor baris dalam kumpulan? Contohnya:
SELECT * FROM mytable WHERE COUNT(*) > 1 GROUP BY name
Jawapan:
Untuk menapis berdasarkan fungsi agregat seperti COUNT(*), anda harus menggunakan klausa HAVING dan bukannya klausa WHERE . Klausa HAVING direka khusus untuk menapis kumpulan data selepas ia diagregatkan.
SELECT name, COUNT(*) FROM mytable GROUP BY name HAVING COUNT(*) > 1
Pertanyaan ini akan mengumpulkan baris dalam jadual 'jadual saya' mengikut lajur 'nama' dan mengira kiraan untuk setiap kumpulan. Ia kemudiannya akan menapis hasil untuk memasukkan hanya kumpulan yang bilangannya lebih besar daripada 1.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menapis Keputusan Pertanyaan SQL Berdasarkan Kiraan Baris Dalam Kumpulan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!