Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Mengira Nilai Lajur dengan Cekap dalam SQL?

Bagaimanakah Saya Boleh Mengira Nilai Lajur dengan Cekap dalam SQL?

Barbara Streisand
Lepaskan: 2024-12-28 06:04:09
asal
519 orang telah melayarinya

How Can I Efficiently Count Column Values in SQL?

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;
Salin selepas log masuk

Menggunakan teknik ini pada jadual pelajar yang diberikan menghasilkan pertanyaan berikut:

SELECT age, COUNT(age) 
FROM Students
GROUP BY age;
Salin selepas log masuk

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;
Salin selepas log masuk

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!

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