My sql 多条数据只需要最新的一个如何弄

My sql 多条数据只需要最新的一个如何弄,第1张

含group by子句的查询中,select后面跟的字段只能是分组字段(如本题的:user_id)和聚合函数(如本题的max(order_time)。),其他字段不能选。这也是学习group by子句时常犯的毛病。

解决思路:左连接嵌套查询,代码如下:

sql = "select b.order_time,b.order_id,b.order_sn,b.order_time,b.courieruser_id from (select user_id max(order_time) as order_time from orderlist where order_status=4 group by user_id) as a left join orderlist as b on a.user_id=b.user_id and a.order_time=b.order_time ORDER BY b.order_time DESC "

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

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,如图所示。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6764642.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存