Mengenal pasti Baris Terkini untuk ID Diberi:
Jadual yang disediakan mengandungi berbilang baris dengan cap masa log masuk yang berbeza-beza untuk nilai id yang berbeza. Objektif di sini ialah untuk mendapatkan semula baris terbaharu, berdasarkan lajur log masuk, untuk nilai id tertentu (id=1).
Menggunakan Agregat MAX() dan KUMPULAN OLEH:
Satu pendekatan untuk mencapai ini ialah dengan menggunakan fungsi agregat MAX() bersama-sama klausa GROUP BY. Pertanyaan berikut mengagregatkan cap masa log masuk maksimum untuk setiap id unik:
SELECT id, MAX(signin) AS most_recent_signin FROM tbl GROUP BY id;
Pertanyaan ini menghasilkan jadual dengan dua lajur: id dan most_recent_signin. Lajur most_recent_signin mengandungi cap masa log masuk terbaharu untuk setiap id.
Mendapatkan semula Rekod Lengkap:
Walau bagaimanapun, jika matlamatnya adalah untuk mendapatkan semula rekod lengkap (termasuk semua lajur) untuk baris terbaharu dengan>
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 melakukan JOIN DALAM antara jadual tbl dan subquery (ms) yang memilih cap masa log masuk maksimum untuk setiap id. Ia kemudian menapis hasil untuk memasukkan hanya baris dengan>
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Baris Terkini untuk ID Diberikan dalam Jadual SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!