選擇具有最早記錄日期的唯一行
假設您有一個表,每個唯一識別碼包含多個條目,並且您只需檢索代表每個識別碼最早記錄日期的唯一行。 這在處理重複的記錄日期時特別有用。
這是一個可以有效解決這個問題的 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>
此查詢分兩步驟進行:
找出最短日期: 內部查詢 (SELECT id, MIN(record_date) AS MinDate FROM MyTable GROUP BY id
) 標識每個唯一 record_date
的最小 id
。
選擇符合行: 外部查詢將內部查詢的結果與原始表 (MyTable
) 連接起來。 它只選擇 MyTable
中的行,其中 id
和 record_date
都與內部查詢中找到的最小日期相符。
最終結果僅包含每個唯一識別碼最早record_date
的行,消除了具有不同記錄日期的重複行。
以上是如何在SQL中選擇具有特定欄位最小值的不同行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!