Rumah > pangkalan data > tutorial mysql > Mengapa GROUP BY Matter Apabila Menggunakan Fungsi Agregat dalam SQL?

Mengapa GROUP BY Matter Apabila Menggunakan Fungsi Agregat dalam SQL?

Mary-Kate Olsen
Lepaskan: 2024-12-27 00:29:09
asal
346 orang telah melayarinya

Why Does GROUP BY Matter When Using Aggregate Functions in SQL?

Mengapa GROUP BY Penting untuk Fungsi Agregat

Fungsi agregat, seperti SUM(), menggunakan operasi matematik pada set nilai, mengembalikan hasil tunggal . Tanpa GROUP BY, fungsi agregat akan beroperasi pada keseluruhan jadual, selalunya menghasilkan output yang tidak dijangka atau salah.

Pertimbangkan contoh berikut: Anda mempunyai jadual Pekerja dengan gaji bulanan setiap pekerja. Untuk menentukan jumlah perbelanjaan gaji bulanan, anda akan menggunakan pertanyaan berikut:

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

Walau bagaimanapun, melaksanakan pertanyaan ini tanpa GROUP BY hanya akan mengembalikan jadual yang sama dengan setiap gaji pekerja, yang bukan hasil yang diingini.

Menghimpun data mengikut EmployeeID menggunakan GROUP BY memastikan fungsi SUM() digunakan pada gaji amaun untuk setiap pekerja secara berasingan:

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

Pertanyaan yang dikemas kini ini kini memberikan hasil yang betul, iaitu jumlah gaji bulanan untuk setiap pekerja.

Dalam SQL, GROUP BY bertindak seperti "untuk setiap" gelung demi fungsi agregat. Ia membahagikan data kepada kumpulan berdasarkan lajur yang ditentukan dan menggunakan fungsi agregat pada setiap kumpulan secara berasingan.

Sebagai contoh, jika jadual Pekerja mengandungi baris berikut:

empid MonthlySalary
1 200
1 300
2 300

Menggunakan pertanyaan GROUP BY, hasilnya ialah:

empid TotalSalary
1 500
2 300

Ini menunjukkan cara GROUP BY membolehkan fungsi agregat untuk melaksanakan operasi pada kumpulan data tertentu, memberikan hasil yang bermakna dan tepat.

Atas ialah kandungan terperinci Mengapa GROUP BY Matter 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