Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menapis Keputusan Pertanyaan SQL Berdasarkan Kiraan Baris Dalam Kumpulan?

Bagaimanakah Saya Boleh Menapis Keputusan Pertanyaan SQL Berdasarkan Kiraan Baris Dalam Kumpulan?

Patricia Arquette
Patricia Arquetteasal
2024-12-30 21:22:10215semak imbas

How Can I Filter SQL Query Results Based on Row Counts Within Groups?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn