Rumah >pangkalan data >tutorial mysql >Bagaimana Mengira Rekod Selepas Pengumpulan dalam SQL?

Bagaimana Mengira Rekod Selepas Pengumpulan dalam SQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-19 00:02:12203semak imbas

How to Count Records After Grouping in SQL?

Kaedah pengiraan rekod SQL selepas dikumpulkan

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.

Gunakan GROUP BY untuk pengiraan agregat

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.

Mengandungi jumlah kiraan

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!

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