开发者社区> 问答> 正文

从分组的MySQL数据中获取最新日期?mysql

我的数据库中有以下数据:

|NO | model | date | +---+-------+----------+ |1 | bee |2011-12-01| |2 | bee |2011-12-05| |3 | bee |2011-12-12| |4 | tar |2011-12-13| 我想获取每个模型组的最新日期:

| model | date | +-------+----------+ | bee |2011-12-12| | tar |2011-12-13| 我试过了:

SELECT model, date FROM doc WHERE date ........????? //what is the next? GROUP BY model

展开
收起
保持可爱mmm 2020-05-17 21:37:11 1195 0
1 条回答
写回答
取消 提交回答
  • 您是否正在寻找每种型号的最长日期?

    SELECT model, max(date) FROM doc GROUP BY model 如果您要查找与整个表格的最大日期匹配的所有模型...

    SELECT model, date FROM doc WHERE date IN (SELECT max(date) FROM doc) [ - - 添加 - -]

    对于那些希望显示与每个模型组中的最新日期匹配的每个记录的详细信息(而不是OP中要求的摘要数据)的人员:

    SELECT d.model, d.date, d.color, d.etc FROM doc d WHERE d.date IN (SELECT max(d2.date) FROM doc d2 WHERE d2.model=d.model) MySQL 8.0和更高版本支持该OVER子句,对于较大的数据集,产生相同结果的速度要快一些。

    SELECT model, date, color, etc FROM (SELECT model, date, color, etc, max(date) OVER (PARTITION BY model) max_date FROM doc) predoc WHERE date=max_date;来源:stack overflow

    2020-05-17 21:38:53
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像