ホームページ >データベース >mysql チュートリアル >SQL テーブル内の指定された ID の最新の行を取得するにはどうすればよいですか?
指定された ID の最新行の識別:
提供されたテーブルには、さまざまな ID 値に対してさまざまなサインイン タイムスタンプを持つ複数の行が含まれています。ここでの目的は、サインイン列に基づいて、特定の ID 値 (id=1) の最新の行を取得することです。
MAX() Aggregate と GROUP BY の使用:
これを実現する 1 つのアプローチは、GROUP BY 句とともに MAX() 集計関数を使用することです。次のクエリは、一意の ID ごとに最大サインイン タイムスタンプを集計します。
SELECT id, MAX(signin) AS most_recent_signin FROM tbl GROUP BY id;
このクエリは、id と most_recent_signin の 2 つの列を持つテーブルを生成します。 most_recent_signin 列には、各 ID の最新のサインイン タイムスタンプが含まれます。
完全なレコードの取得:
ただし、目的が完全なレコード (すべての 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;
を含む最新の行の場合、このクエリは TBL テーブル間の INNER JOIN を実行します。および各 ID の最大サインイン タイムスタンプを選択するサブクエリ (ミリ秒)。次に、結果をフィルタリングして、> を含む行のみを含めます。
以上がSQL テーブル内の指定された ID の最新の行を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。