Mengira Nilai Lajur dalam SQL dengan Cekap
Untuk mengira kejadian nilai lajur dalam jadual SQL dengan cekap, seseorang boleh memanfaatkan kuasa fungsi pengagregatan . Dalam contoh yang diberikan, tugasnya adalah untuk menentukan kiraan pelajar bagi setiap nilai umur yang unik. Pendekatan mudah melibatkan penggunaan subkueri, tetapi timbul kebimbangan mengenai potensi ketidakcekapannya.
Kaedah alternatif, yang selalunya lebih cekap, ialah menggunakan klausa GROUP BY bersama-sama dengan fungsi COUNT(). Sintaks untuk pertanyaan sedemikian ialah:
SELECT column_name, COUNT(column_name) FROM table_name GROUP BY column_name;
Menggunakan teknik ini pada jadual pelajar yang diberikan menghasilkan pertanyaan berikut:
SELECT age, COUNT(age) FROM Students GROUP BY age;
Pertanyaan ini mengumpulkan pelajar mengikut umur dan mengira kejadian daripada setiap nilai umur. Hasilnya ialah jadual dengan dua lajur: umur dan kiraan, di mana setiap baris mewakili nilai umur yang unik dan kiraan sepadan pelajar dengan umur tersebut.
Jika lajur id jadual asal juga diperlukan dalam hasil carian, pertanyaan di atas boleh dilanjutkan dengan memasukkannya ke dalam senarai SELECT dan menggunakan INNER JOIN dengan subquery yang melakukan pengumpulan dan pengiraan operasi:
SELECT S.id, S.age, C.cnt FROM Students S INNER JOIN (SELECT age, COUNT(age) AS cnt FROM Students GROUP BY age) C ON S.age = C.age;
Pendekatan yang dioptimumkan ini memastikan pengiraan nilai lajur yang cekap dalam jadual SQL, mengelakkan potensi kesesakan prestasi yang dikaitkan dengan subkueri.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Nilai Lajur dengan Cekap dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!