ホームページ > データベース > mysql チュートリアル > SQL テーブル内の指定された ID の最新の行を取得するにはどうすればよいですか?

SQL テーブル内の指定された ID の最新の行を取得するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-29 08:35:11
オリジナル
923 人が閲覧しました

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

指定された 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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート