Kehalusan DISTINCT dalam MySQL
Semasa menggunakan kata kunci DISTINCT MySQL untuk mendapatkan semula baris unik, pengguna mungkin menghadapi had apabila cuba memilih semua medan. Untuk memahami tingkah laku ini, mari kita mendalami cara kerja DISTINCT.
DISTINCT menghapuskan baris pendua berdasarkan keunikan lajur yang ditentukan. Walau bagaimanapun, ia tidak boleh digunakan secara terpilih pada lajur tertentu sahaja. Sebaliknya, ia mengubah suai keseluruhan pertanyaan, memastikan semua lajur dalam senarai pilih adalah unik.
Sebagai contoh, pertanyaan:
<code class="mysql">SELECT DISTINCT ticket_id FROM temp_tickets ORDER BY ticket_id</code>
akan berjaya mendapatkan nilai yang berbeza untuk lajur ticket_id , tidak termasuk baris pendua. Walau bagaimanapun, pertanyaan:
<code class="mysql">SELECT * , DISTINCT ticket_id FROM temp_tickets ORDER BY ticket_id</code>
akan mengakibatkan ralat kerana DISTINCT mesti terus mengikut SELECT dan tidak boleh diletakkan selepas nama lajur.
Untuk mencapai hasil yang diinginkan dalam memilih semua medan sambil memastikan bahawa baris pendua dihapuskan, sintaks yang betul ialah:
<code class="mysql">SELECT DISTINCT * FROM temp_tickets ORDER BY ticket_id</code>
Pertanyaan ini akan mengembalikan baris yang berbeza berdasarkan semua lajur dalam jadual, menghapuskan pendua dengan berkesan.
Memahami perbezaan halus ini dalam Penggunaan DISTINCT adalah penting untuk mengelakkan ralat dan mendapatkan data dengan betul daripada jadual MySQL.
Atas ialah kandungan terperinci Bagaimanakah DISTINCT berfungsi dalam MySQL apabila memilih semua lajur?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!