Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menambah Baris SUM pada Hasil Pertanyaan SQL COUNT Berkumpulan?

Bagaimana untuk Menambah Baris SUM pada Hasil Pertanyaan SQL COUNT Berkumpulan?

Susan Sarandon
Susan Sarandonasal
2024-12-18 16:13:10421semak imbas

How to Add a SUM Row to a Grouped COUNT SQL Query Result?

Menambah Baris SUM dalam Pertanyaan SQL COUNT Berkumpulan

Dalam pertanyaan SQL, selalunya perlu untuk mengumpulkan baris berdasarkan sesuatu kriteria dan kira bilangan kejadian dalam setiap kumpulan. Untuk tujuan ini, seseorang boleh menggunakan fungsi COUNT. Walau bagaimanapun, mungkin terdapat keadaan di mana anda juga ingin memaparkan jumlah kiraan semua kumpulan yang digabungkan.

Pertimbangkan jadual berikut yang mengandungi dua medan, ID dan Nama:

ID Name
1 Alpha
2 Beta
3 Beta
4 Beta
5 Charlie
6 Charlie

Kami mahu untuk mengumpulkan baris ini mengikut Nama mereka dan mengira bilangan kejadian untuk setiap kumpulan. Selain itu, kami ingin menambah baris "SUM" di bahagian bawah jadual, menunjukkan jumlah kiraan semua kumpulan.

Untuk mencapai ini, kami boleh menggunakan pertanyaan berikut:

SELECT name, COUNT(name) AS count, SUM(COUNT(name)) OVER() AS total_count
FROM Table
GROUP BY name

Mari kita pecahkan pertanyaan:

  • Pernyataan SELECT mendapatkan semula nama dan kiraan untuk setiap kumpulan.
  • Fungsi COUNT(nama) mengira bilangan kejadian untuk setiap nama kumpulan.
  • Ungkapan SUM(COUNT(nama)) OVER() mengira jumlah kiraan semua kumpulan . Fungsi OVER() memastikan pengiraan ini dilakukan merentasi semua baris dalam jadual.
  • Pernyataan GROUP BY mengumpulkan baris mengikut medan nama.

Hasil pertanyaan ini adalah seperti berikut:

Name Count Total_Count
Alpha 1 6
Beta 3 6
Charlie 2 6
SUM 6 NULL

Seperti yang anda boleh perhatikan, baris "SUM" telah ditambah ke bahagian bawah jadual, memaparkan jumlah kiraan semua kumpulan, yang dalam kes ini ialah 6.

Atas ialah kandungan terperinci Bagaimana untuk Menambah Baris SUM pada Hasil Pertanyaan SQL COUNT Berkumpulan?. 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