mysql怎么查询最新一条的数据

表数据如图,想要的结果是。查询list=xxx的数据,需要addtime每天都罗列出来,而且是id最新的数据。select max(id),id,shu,list,addtime from table where list='xxx' group by addtime用这个命令查出来的,2018-4-8,这一天的数据不是id最新的数据,而是第一条数据,现在想要最新的数据

获取最新数据就会显示。如下参考:

1.打开电脑,打开mysql数据库,点击数据库,在右上角输入查询,点击新查询下面的zd查询。如图。

2.然后可以通过gmt_create从crew_1中输入SELECT*,表中的所有记录都将按时间排序,如图所示。

3.如果需要获得按时间排序的表中的第一条记录,请输入SELECT*fromcrew_1orderbygmt_createdesclimit0,1,如图所示。

4.如果您需要获得第五个记录,请输入SELECT*fromcrew_1orderbygmt_createdesclimit4,1,如下所示。

5.如果需要获取1001记录,只需将limit4,1更改为limit1000,1。如果需要获取n条记录,在查询语句中添加limitn-1,1,如图所示。

6.如果需要获取表中的前n条记录,则更改为限制n,如图所示。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-05-09
没看清问题,但猜测一个,楼主试试这个,降序排列,select max(id),id,shu,list,addtime from table where list='xxx' order by id desc group by addtime
或者使用
select max(id) as mx,id,shu,list,addtime from table having list='xxx' and mx=id group by addtime追问

测试了,不行。出错。去掉group by addtime后,只显示一条信息,而且max(id)和id也不一致。也就是数据对不上

追答

那你用这个吧:
select id as mx,id,shu,list,addtime from where id in (select max(id) from table where list='xxx' group by addtime)
这是嵌套查询想必不会有问题

本回答被提问者采纳
第2个回答  2018-05-09
SELECT * FROM
(
select id,shu,list,addtime from table where list='xxx' ORDER BY addtime DESC
)TMP
group by addtime追问

测试了,查询出来的结果,2018-4-8的数据,list=xxx的,显示的是id较小的一条。不是最新出现的一条啊。想要的是id最大的数据显示

追答

select * from table where id IN (select max(id) as id from table where list='xxx' GROUP BY addtime)