Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan Baris Terkini untuk ID Tertentu dalam Jadual Pangkalan Data?
Dapatkan Baris Terkini Berdasarkan ID
Dalam jadual pangkalan data yang mengandungi berbilang baris untuk setiap ID, tugasnya adalah untuk mendapatkan hanya yang paling banyak baris terbaru untuk ID yang ditentukan. Pertimbangkan jadual di bawah:
+----+---------------------+---------+ | id | signin | signout | +----+---------------------+---------+ | 1 | 2011-12-12 09:27:24 | NULL | | 1 | 2011-12-13 09:27:31 | NULL | | 1 | 2011-12-14 09:27:34 | NULL | | 2 | 2011-12-14 09:28:21 | NULL | +----+---------------------+---------+
Untuk mendapatkan baris terbaharu dengan ID = 1 berdasarkan lajur 'log masuk', agregat lajur 'log masuk' menggunakan fungsi MAX() dan kumpulan mengikut ID:
SELECT id, MAX(signin) AS most_recent_signin FROM tbl GROUP BY id
Pertanyaan ini mengembalikan cap waktu 'log masuk' terkini untuk setiap ID.
Untuk mengekstrak baris lengkap dikaitkan dengan 'log masuk' terbaharu, lakukan INNER JOIN terhadap subkueri yang mengembalikan MAX('log masuk') untuk setiap ID:
SELECT tbl.id, signin, signout FROM tbl INNER JOIN ( SELECT id, MAX(signin) AS maxsign FROM tbl GROUP BY id ) ms ON tbl.id = ms.id AND signin = maxsign WHERE tbl.id=1
Pertanyaan ini mendapatkan semula ID, 'log masuk' dan ' log keluar' untuk baris dengan 'log masuk' terbaharu untuk ID = 1.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Baris Terkini untuk ID Tertentu dalam Jadual Pangkalan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!