Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan Nilai DISTINCT dengan Lajur Berkaitan dalam MySQL?

Bagaimana untuk Mendapatkan Nilai DISTINCT dengan Lajur Berkaitan dalam MySQL?

Susan Sarandon
Susan Sarandonasal
2024-12-07 11:40:14969semak imbas

How to Retrieve DISTINCT Values with Associated Columns in MySQL?

Mendapatkan Keputusan DISTINCT dengan Lajur Berkaitan dalam MySQL

Dalam MySQL, jika anda perlu mendapatkan semula nilai unik daripada lajur tertentu (cth., FirstName ) sambil memastikan bahawa nilai yang sepadan daripada lajur lain (cth., ID dan Nama Akhir) dikekalkan, anda tidak boleh menggunakan kata kunci DISTINCT.

Sebagai contoh, pertimbangkan jadual berikut:

ID FirstName LastName
1 John Doe
2 Bugs Bunny
3 John Johnson

Jika anda ingin mendapatkan semula yang berbeza Nilai FirstName, anda mungkin tergoda untuk menggunakan DISTINCT seperti ini:

SELECT DISTINCT FirstName FROM table;

Walau bagaimanapun, pendekatan ini hanya mengembalikan lajur FirstName dan tidak memberikan nilai ID dan LastName yang sepadan.

Untuk mencapai hasil yang diingini, anda boleh memanfaatkan klausa GROUP BY seperti berikut:

SELECT ID, FirstName, LastName
FROM table
GROUP BY FirstName;

Dalam ini pertanyaan, Nama Pertama ditentukan sebagai lajur pengumpulan. Akibatnya, hanya satu baris dikembalikan untuk setiap nilai Nama Pertama yang berbeza. Selain itu, pertanyaan mendapatkan semula nilai ID dan Nama Akhir yang sepadan daripada kejadian pertama setiap Nama Pertama.

Menggunakan pendekatan ini, set hasil akan dipaparkan seperti berikut:

ID Nama Akhir Nama Pertama.
1 John Doe
2 Pepijat Bunny

Penyelesaian ini memastikan anda memperoleh nilai FirstName yang unik sambil mengekalkan perkaitan dengan ID dan LastName yang betul.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai DISTINCT dengan Lajur Berkaitan dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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