首页 > 数据库 > 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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板