Rumah >pangkalan data >tutorial mysql >Bagaimanakah GROUP BY Berfungsi Tanpa Fungsi Agregat?
GROUP BY Diterangkan Tanpa Fungsi Agregat
Apabila menggunakan klausa GROUP BY tanpa fungsi agregat, adalah penting untuk memahami konsep baris runtuh ke dalam satu baris. Dalam kes ini, klausa beroperasi dengan menggabungkan berbilang baris dengan nilai yang sama untuk medan tertentu ke dalam satu baris. Proses ini, walau bagaimanapun, menimbulkan persoalan tentang cara nilai yang bercanggah dalam medan lain harus dikendalikan.
Seperti yang ditunjukkan dalam contoh yang anda berikan, menyertakan atau mengecualikan medan secara terpilih dalam klausa GROUP BY menghasilkan keputusan yang sah atau tidak sah. Keputusan yang sah dijana apabila bilangan lajur dalam klausa GROUP BY adalah sama dengan bilangan lajur yang dipilih dalam pernyataan SELECT.
Sebagai contoh, dalam pertanyaan "SELECT ename, sal FROM emp GROUP BY ename, sal," kehadiran kedua-dua "ename" dan "sal" dalam kedua-dua klausa SELECT dan GROUP BY mengembalikan yang dimaksudkan output.
Keputusan tidak sah timbul apabila bilangan lajur dalam klausa GROUP BY tidak sepadan dengan nombor yang dipilih dalam pernyataan SELECT. Dalam pertanyaan "SELECT ename, sal FROM emp GROUP BY ename;" dan "SELECT ename, sal FROM emp GROUP BY sal;," ketiadaan ungkapan kumpulan untuk salah satu lajur yang dipilih mencetuskan mesej ralat "bukan ungkapan GROUP BY."
Untuk mengelakkan ralat sedemikian, ingat bahawa apabila menggunakan GROUP BY tanpa fungsi agregat, bilangan lajur dalam klausa GROUP BY mesti sentiasa sepadan dengan bilangan lajur yang dipilih dalam pernyataan SELECT. Ini memastikan sistem mempunyai arahan yang jelas tentang cara menggabungkan nilai pendua dan menghasilkan hasil yang sah.
Atas ialah kandungan terperinci Bagaimanakah GROUP BY Berfungsi Tanpa Fungsi Agregat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!