开发者社区> 问答> 正文

从分组的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 1181 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
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像