Rumah > pangkalan data > tutorial mysql > Mengapakah GROUP BY Diperlukan Apabila Menggunakan Fungsi Agregat dalam SQL?

Mengapakah GROUP BY Diperlukan Apabila Menggunakan Fungsi Agregat dalam SQL?

Linda Hamilton
Lepaskan: 2024-12-19 13:54:12
asal
509 orang telah melayarinya

Why is GROUP BY Necessary When Using Aggregate Functions in SQL?

Keperluan GROUP BY dengan Fungsi Agregat

Dalam operasi pangkalan data, fungsi agregat seperti SUM() membolehkan kami melakukan pengiraan pada berbilang nilai dan mengembalikan hasil tunggal. Walau bagaimanapun, dalam SQL, kami sering menghadapi keperluan untuk mengumpulkan data sebelum melaksanakan fungsi agregat. Klausa GROUP BY memainkan peranan penting dalam konteks ini.

Pertimbangkan senario ini: kami mempunyai jadual pekerja dengan gaji bulanan mereka. Untuk mengira jumlah yang dibayar dalam gaji pekerja bulan ini, kami mungkin secara naluri menulis pertanyaan berikut:

SELECT EmployeeID, SUM(MonthlySalary)
FROM Employee;
Salin selepas log masuk

Walau bagaimanapun, pertanyaan ini menghasilkan ralat. Sebabnya terletak pada sifat fungsi agregat seperti SUM().

SUM() beroperasi pada lajur nilai dan mengembalikan hasil tunggal. Tanpa klausa GROUP BY, pertanyaan cuba menjumlahkan semua nilai Gaji Bulanan dalam keseluruhan jadual. Memandangkan terdapat berbilang baris untuk setiap pekerja, hasilnya ialah jumlah yang tidak jelas bagi semua gaji bulanan untuk semua pekerja.

Untuk mendapatkan hasil yang bermakna, kami perlu mengumpulkan data kami mengikut EmployeeID. Klausa GROUP BY mengarahkan pangkalan data untuk melaksanakan operasi SUM() pada setiap kumpulan baris yang berkongsi EmployeeID yang sama. Ini membolehkan kami mengira jumlah gaji untuk setiap pekerja secara individu.

SELECT EmployeeID, SUM(MonthlySalary)
FROM Employee
GROUP BY EmployeeID;
Salin selepas log masuk

Dengan klausa GROUP BY, pertanyaan menentukan jumlah gaji untuk setiap pekerja dengan tepat dan memberikan output yang bermakna. Oleh itu, GROUP BY berfungsi sebagai elemen penting dalam pertanyaan SQL di mana kami ingin menggunakan fungsi agregat ke atas set data terkumpul.

Atas ialah kandungan terperinci Mengapakah GROUP BY Diperlukan Apabila Menggunakan Fungsi Agregat dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan