Pertimbangkan jadual yang mengandungi tiga baris dengan ID yang sama (1) tetapi cap masa log masuk yang berbeza. Objektifnya adalah untuk mendapatkan hanya baris terbaharu di kalangan mereka.
Satu pendekatan melibatkan penggunaan fungsi agregat dan pengelompokan. Dengan memanfaatkan fungsi MAX() untuk mencari cap masa log masuk maksimum bagi setiap ID, anda boleh mengenal pasti baris terbaharu dengan berkesan. Himpunkan hasil mengikut lajur ID untuk mendapatkan cap masa log masuk maksimum bagi setiap ID unik.
SELECT id, MAX(signin) AS most_recent_signin FROM tbl GROUP BY id
Untuk mendapatkan keseluruhan rekod yang sepadan, lakukan JOIN DALAM antara jadual asal dan subkueri yang mengembalikan log masuk maksimum cap masa untuk setiap ID. Pautkan dua jadual pada lajur ID dan penapis berdasarkan cap masa log masuk maksimum. Ini akan menghasilkan baris terbaharu untuk ID yang ditentukan.
Sebagai contoh, untuk mendapatkan semula baris terbaharu untuk ID=1:
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
Atas ialah kandungan terperinci Bagaimana untuk Mengambil Baris Terkini untuk ID Tertentu dalam Jadual? 或 Bagaimanakah Saya Boleh Memilih Hanya Baris Terkini dengan ID Diberi daripada Jadual Pangkalan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!