Rumah >pangkalan data >tutorial mysql >Bagaimana Memilih 3 Rekod Terkini dengan Nilai Unik dalam Lajur Tertentu?
Cara Memilih 3 Rekod Terkini dengan Nilai Yang Berbeza untuk Lajur Tertentu
Memilih rekod terkini untuk jadual tertentu ialah operasi biasa dalam pangkalan data. Walau bagaimanapun, ia boleh menjadi lebih kompleks apabila anda ingin memastikan bahawa nilai untuk lajur tertentu adalah berbeza, menghapuskan pendua. Tugasan ini memerlukan pendekatan yang lebih bernuansa.
Dalam senario yang diberikan, pengguna cuba memilih tiga rekod terbaharu daripada jadual di mana nilai dalam lajur pengecam lain adalah berbeza. Percubaan awal, menggunakan SELECT * FROM table GROUP BY (otheridentifier) ORDER BY time DESC LIMIT 3, gagal menghasilkan hasil yang diingini kerana pengumpulan lebih diutamakan daripada pesanan dalam pernyataan SQL.
Untuk mengatasi had ini, a pertanyaan yang lebih terperinci diperlukan:
SELECT * FROM `table` WHERE `id` = ( SELECT `id` FROM `table` AS `alt` WHERE `alt`.`otheridentifier` = `table`.`otheridentifier` ORDER BY `time` DESC LIMIT 1 ) ORDER BY `time` DESC LIMIT 3
Pertanyaan ini berfungsi dengan melaksanakan perkara berikut langkah:
Menggunakan pendekatan ini, pengguna boleh memilih tiga rekod terbaharu dengan nilai yang berbeza dengan berkesan untuk lajur pengecam lain, menghasilkan hasil yang diingini.
Atas ialah kandungan terperinci Bagaimana Memilih 3 Rekod Terkini dengan Nilai Unik dalam Lajur Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!