首頁 > 資料庫 > mysql教程 > 如何在SQL中選擇具有特定欄位最小值的不同行?

如何在SQL中選擇具有特定欄位最小值的不同行?

Barbara Streisand
發布: 2025-01-17 20:15:10
原創
576 人瀏覽過

How to Select Distinct Rows with the Minimum Value for a Specific Field in SQL?

選擇具有最早記錄日期的唯一行

假設您有一個表,每個唯一識別碼包含多個條目,並且您只需檢索代表每個識別碼最早記錄日期的唯一行。 這在處理重複的記錄日期時特別有用。

這是一個可以有效解決這個問題的 SQL 查詢:

<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. 找出最短日期: 內部查詢 (SELECT id, MIN(record_date) AS MinDate FROM MyTable GROUP BY id) 標識每個唯一 record_date 的最小 id

  2. 選擇符合行: 外部查詢將內部查詢的結果與原始表 (MyTable) 連接起來。 它只選擇 MyTable 中的行,其中 idrecord_date 都與內部查詢中找到的最小日期相符。

最終結果僅包含每個唯一識別碼最早record_date的行,消除了具有不同記錄日期的重複行。

以上是如何在SQL中選擇具有特定欄位最小值的不同行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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