Mengira rekod selepas operasi pengumpulan juga berguna apabila menggunakan pertanyaan SQL GROUP BY
dengan klausa SELECT
. Dengan cara ini anda boleh mendapatkan statistik agregat dengan mudah untuk setiap kumpulan.
Untuk mengira rekod berkumpulan, cuma masukkan SELECT
fungsi agregat dalam pernyataan COUNT()
, bersama-sama dengan lajur yang anda ingin kumpulkan. Contohnya, jika anda mempunyai jadual yang dipanggil "pengguna" dan anda ingin memilih bandar yang berbeza dan mengira jumlah bilangan pengguna di setiap bandar:
<code class="language-sql">SELECT `town`, COUNT(*) AS `num_users` FROM `user` GROUP BY `town`;</code>
Pertanyaan ini akan mengembalikan set hasil dengan satu lajur untuk setiap bandar dan satu lajur untuk jumlah pengguna di bandar itu.
Jika anda juga ingin memaparkan lajur yang mengandungi jumlah pengguna untuk semua baris, anda boleh menggunakan subkueri untuk mengira nilai ini dan menyertainya ke set hasil terkumpul. Sebagai alternatif, anda boleh menggunakan pembolehubah khusus pangkalan data untuk menyimpan jumlah kiraan dan kemudian merujuknya dalam pertanyaan utama.
Sebagai contoh, dalam MySQL anda boleh menggunakan pertanyaan berikut untuk memasukkan jumlah lajur kiraan:
<code class="language-sql">SELECT `town`, COUNT(*) AS `num_users`, (SELECT COUNT(*) FROM `user`) AS `total_users` FROM `user` GROUP BY `town`;</code>
Anda boleh mendapatkan tahap kumpulan dan jumlah kiraan dengan mudah dalam pertanyaan SQL dengan menggunakan fungsi agregat dan subkueri.
Atas ialah kandungan terperinci Bagaimana Mengira Rekod Selepas Pengumpulan dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!