ホームページ > データベース > mysql チュートリアル > 各 ID とタイムスタンプの最小値を持つ個別の行を選択するにはどうすればよいですか?

各 ID とタイムスタンプの最小値を持つ個別の行を選択するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-17 20:17:10
オリジナル
414 人が閲覧しました

How to Select Distinct Rows with the Minimum Value for Each ID and Timestamp?

最小値でグループ化し、一意の行を選択します

識別子とタイムスタンプ値ごとに複数の行を含むデータを扱う場合、一意の行を選択しながら最小値でデータをグループ化する必要があります。これにより、各識別子はその最初の出現によって 1 回だけ表されることが保証されます。

提供されたテーブル例では、各 ID の最小の record_date を持つ行を抽出することが目標です。ただし、テーブルには重複した日付が含まれているため、従来の方法を使用してこの目標を達成することが困難になります。

この問題は、相関サブクエリと内部結合を使用して解決できます。

<code class="language-sql">SELECT mt.*     
FROM MyTable mt INNER JOIN
    (
        SELECT id, MIN(record_date) AS MinDate
        FROM MyTable
        GROUP BY id
    ) t ON mt.id = t.id AND mt.record_date = t.MinDate</code>
ログイン後にコピー

このメソッドには以下が含まれます:

  1. 各 ID の最小の record_date を識別するサブクエリを作成します。
  2. id フィールドと record_date フィールドを使用して、メイン テーブル (MyTable) をサブクエリと結合します。

結果テーブルには、各 ID の最小の record_date を持つ行のみが含まれます。この方法により、出力に重複行が表示されるのを防ぎます。

以上が各 ID とタイムスタンプの最小値を持つ個別の行を選択するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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