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

データベーステーブル内の特定のIDの最新の行を取得するにはどうすればよいですか?

DDD
リリース: 2024-12-29 09:01:11
オリジナル
589 人が閲覧しました

How to Retrieve the Most Recent Row for a Specific ID in a Database Table?

ID に基づいて最新の行を取得

ID ごとに複数の行を含むデータベース テーブルで、タスクは最も古い行のみを取得することです。指定された ID の最近の行。以下の表を考えてみましょう:

+----+---------------------+---------+
| id | signin              | signout |
+----+---------------------+---------+
|  1 | 2011-12-12 09:27:24 | NULL    |
|  1 | 2011-12-13 09:27:31 | NULL    |
|  1 | 2011-12-14 09:27:34 | NULL    |
|  2 | 2011-12-14 09:28:21 | NULL    |
+----+---------------------+---------+
ログイン後にコピー

「signin」列に基づいて ID = 1 の最新の行を取得するには、MAX() 関数を使用して「signin」列を集計し、ID でグループ化します。

SELECT 
 id, 
 MAX(signin) AS most_recent_signin
FROM tbl
GROUP BY id
ログイン後にコピー

このクエリは、各 ID の最新の「サインイン」タイムスタンプを返します。

に関連付けられた完全な行を抽出するには最新の「サインイン」、各 ID の MAX(「サインイン」) を返すサブクエリに対して INNER JOIN を実行します:

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
ログイン後にコピー

このクエリは、ID、「サインイン」、および「サインアウト」を取得します。 ID = 1 の最新の「サインイン」を持つ行。

以上がデータベーステーブル内の特定のIDの最新の行を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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