首頁 > 資料庫 > mysql教程 > 如何在MySQL中找到每個群組和所有模型的最新日期?

如何在MySQL中找到每個群組和所有模型的最新日期?

DDD
發布: 2025-01-24 08:47:12
原創
900 人瀏覽過

How to Find the Latest Date for Each Group and All Models with the Latest Date in MySQL?

MySQL 分組數據中獲取最新日期

要獲取給定數據集中每個模型組的最新日期,請使用以下查詢:

<code class="language-sql">SELECT model, MAX(date) AS latest_date
FROM doc
GROUP BY model;</code>
登入後複製

此查詢首先按 model 列對 doc 表中的行進行分組,然後查找每個組中的最大日期。結果是一個包含兩列的表:model(標識分組)和 latest_date(表示該組的最新日期)。

如果您需要查找所有具有整體最新日期的模型:

<code class="language-sql">SELECT model, date
FROM doc
WHERE date = (SELECT MAX(date) FROM doc);</code>
登入後複製

此查詢查找所有日期與整個表中最新日期相同的行。

其他選項

對於需要從與最新日期匹配的每個記錄中獲取詳細信息的場景,可以使用以下查詢:

<code class="language-sql">SELECT d.model, d.date, d.color, d.etc
FROM doc d
WHERE d.date = (SELECT MAX(d2.date) FROM doc d2 WHERE d2.model = d.model);</code>
登入後複製

MySQL 8.0 及更高版本提供 OVER 子句,這可以為更大的數據集提供更快的結果:

<code class="language-sql">SELECT model, date, color, etc
FROM (SELECT model, date, color, etc,
       MAX(date) OVER (PARTITION BY model) AS max_date
       FROM doc) AS predoc
WHERE date = max_date;</code>
登入後複製

以上是如何在MySQL中找到每個群組和所有模型的最新日期?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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