GROUP BY
dalam SQLApabila menggunakan pertanyaan SQL GROUP BY
yang termasuk SELECT
, selalunya perlu juga untuk mengira jumlah rekod. Begini cara untuk melakukannya secara langsung dalam pernyataan SQL:
Untuk mengira jumlah rekod dalam setiap kumpulan, hanya gunakan COUNT
fungsi agregat dengan GROUP BY
. Sebagai contoh, katakan anda mempunyai jadual pengguna dan ingin menyenaraikan bandar unik serta bilangan pengguna dalam setiap bandar:
<code class="language-sql">SELECT `town`, COUNT(`town`) FROM `user` GROUP BY `town`;</code>
Pertanyaan ini akan mengembalikan jadual dengan dua lajur: town
, mewakili nama bandar unik COUNT(town)
, menunjukkan jumlah pengguna dalam setiap bandar.
Selain itu, anda boleh menggunakan fungsi agregat lain dengan GROUP BY
, seperti MAX
, MIN
, COUNT DISTINCT
, dsb.
Kemas kini:
Anda juga mungkin mahu mendapatkan semula jumlah pengguna di semua bandar. Untuk melakukan ini, anda boleh menentukan pembolehubah menggunakan COUNT
fungsi agregat:
<code class="language-sql">DECLARE @numOfUsers INT; SET @numOfUsers = (SELECT COUNT(*) FROM `user`);</code>
Anda kemudian boleh memilih bandar yang berbeza dan pembolehubah yang ditakrifkan sebelum ini:
<code class="language-sql">SELECT DISTINCT `town`, @numOfUsers FROM `user`;</code>
Ini akan menyediakan senarai bandar bersama-sama dengan jumlah pengguna.
Atas ialah kandungan terperinci Bagaimana Mengira Rekod dalam Kumpulan dan Dapatkan Jumlah Kiraan dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!