gpt4 book ai didi

mysql - 按最后一条记录分组

转载 作者:行者123 更新时间:2023-11-29 09:25:51 25 4
gpt4 key购买 nike

我的表有多条记录n_no列,当我 GROUP BY ,它返回该组的第一条记录,如何获取最后一条记录?

SELECT * FROM mytable WHERE category = 16 AND status = 1 AND datetime >= "2020-01-06 00:00:00" AND datetime <= "2020-01-06 23:59:59" GROUP BY n_no ORDER BY datetime DESC LIMIT 0,30

谢谢。

[通过实践解决]

SELECT * FROM mytable WHERE (SELECT MAX(datetime) from mytable GROUP BY n_no) AND category = 16 AND status = 1 AND datetime >= "2020-01-06 00:00:00" AND datetime <= "2020-01-06 23:59:59" GROUP BY n_no ORDER BY datetime DESC LIMIT 0,30

最佳答案

假设您使用的是 MySQL 8+,那么 ROW_NUMBER() 可以在这里工作:

WITH cte AS (
SELECT *, ROW_NUMBER() OVER (PARTITION BY n_no ORDER BY datetime DESC) rn
FROM mytable
WHERE category = 16 AND status = 1 AND
datetime >= '2020-01-06' AND datetime < '2020-01-07'
)

SELECT *
FROM cte
WHERE rn = 1;

关于mysql - 按最后一条记录分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59621612/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com