首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Mysql获取最新行

如何从Mysql获取最新行
EN

Stack Overflow用户
提问于 2018-05-09 20:22:56
回答 6查看 47关注 0票数 1

我有下面提到的表格:

代码语言:javascript
复制
ID      Date                    Value
AL-1    2017-04-01 22:04:08     154
AL-1    2017-04-05 15:08:45     158
AL-1    2017-04-06 18:09:15     225
AL-1    2017-04-08 20:08:17     254
AL-2    2017-04-01 22:04:08     154

我尝试这样做:select ID, Value from table1 where id in ('AL-1','AL-2') and group by max(date(Date));,但它给我的输出如下:

代码语言:javascript
复制
ID      Date                    Value
AL-1    2017-04-01 22:04:08     154
AL-2    2017-04-01 22:04:08     154

所需输出:

代码语言:javascript
复制
ID      Date                    Value
AL-1    2017-04-08 20:08:17     254
AL-2    2017-04-01 22:04:08     154
EN

回答 6

Stack Overflow用户

发布于 2018-05-09 20:37:05

如果要读取每个ID的最新行,则可以使用相关subquery

代码语言:javascript
复制
select t1.*
from table1 t1
where Date = (select max(t2.Date) from tabel1 t2 where t1.ID = t2.ID);
票数 1
EN

Stack Overflow用户

发布于 2018-05-09 20:38:41

有一个子查询,它返回每个id及其最大日期。具有该结果的JOIN

代码语言:javascript
复制
select t1.ID, t1.Value, t1.date
from table1 t1
join (select id, max(Date) maxdate
      from table1
      where id in ('AL-1','AL-2')
      group by id) t2 on t1.ID = t2.ID and date(t1.Date) = date(t2.maxdate)
where t1.id in ('AL-1','AL-2')
票数 1
EN

Stack Overflow用户

发布于 2018-05-09 20:25:10

limit中使用order by desc

代码语言:javascript
复制
select ID, Value from table1 order by date desc limit 1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50253338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档