Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan Baris Terkini untuk ID Diberikan dalam Jadual SQL?

Bagaimana untuk Mendapatkan Baris Terkini untuk ID Diberikan dalam Jadual SQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-29 08:35:11885semak imbas

How to Retrieve the Most Recent Row for a Given ID in a SQL Table?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn