首頁 > 資料庫 > mysql教程 > 如何選擇每個 ID 和時間戳記具有最小值的不同行?

如何選擇每個 ID 和時間戳記具有最小值的不同行?

Mary-Kate Olsen
發布: 2025-01-17 20:17:10
原創
411 人瀏覽過

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

以最小值分組並選擇唯一行

當處理每個識別符和時間戳記值都包含多行的資料時,就需要以最小值對資料進行分組,同時選擇唯一行。這確保每個標識符僅以其最早出現的時間表示一次。

在提供的範例表中,目標是為每個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. 使用idrecord_date欄位將主表(MyTable)與子查詢連接。

結果表僅包含每個id的最小record_date的行。此方法可防止重複行出現在輸出中。

以上是如何選擇每個 ID 和時間戳記具有最小值的不同行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板