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;
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;
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!