Rumah >pangkalan data >tutorial mysql >Bagaimanakah klausa MySQL GROUP BY berkelakuan seperti klausa DISTINCT?
Apabila kita menggunakan klausa GROUP BY dalam pernyataan SELECT tanpa menggunakan fungsi agregat, ia berkelakuan seperti klausa DISTINCT. Sebagai contoh, kami mempunyai jadual berikut -
mysql> Select * from testing; +------+---------+---------+ | id | fname | Lname | +------+---------+---------+ | 200 | Raman | Kumar | | 201 | Sahil | Bhalla | | 202 | Gaurav | NULL | | 203 | Aarav | NULL | | 204 | Harshit | Khurana | | 205 | Rahul | NULL | | 206 | Piyush | Kohli | | 207 | Lovkesh | NULL | | 208 | Gaurav | Kumar | | 209 | Raman | Kumar | +------+---------+---------+ 10 rows in set (0.00 sec)
Dengan menggunakan klausa DISTINCT pada lajur "Lname", MySQL mengembalikan set hasil berikut.
mysql> select Distinct LNAME from testing; +---------+ | LNAME | +---------+ | Kumar | | Bhalla | | NULL | | Khurana | | Kohli | +---------+ 5 rows in set (0.00 sec)
Sekarang, dengan menggunakan klausa GROUP BY seperti yang ditunjukkan di bawah, kita boleh mendapatkan set hasil yang sama seperti yang kita dapat menggunakan DISTINCT -
mysql> Select LNAME from testing GROUP BY Lname; +---------+ | LNAME | +---------+ | NULL | | Bhalla | | Khurana | | Kohli | | Kumar | +---------+ 5 rows in set (0.04 sec)
Kita dapat melihat bahawa terdapat perbezaan antara set hasil yang dikembalikan oleh MySQL menggunakan pertanyaan MySQL GROUP A menggunakan klausa BY mengembalikan set hasil yang diisih, manakala pertanyaan MySQL menggunakan klausa DISTINCT mengembalikan set hasil yang tidak diisih. p>
Atas ialah kandungan terperinci Bagaimanakah klausa MySQL GROUP BY berkelakuan seperti klausa DISTINCT?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!