gpt4 book ai didi

MySQL 使用 GROUP BY 按日期排序

转载 作者:IT王子 更新时间:2023-10-28 23:49:09 26 4
gpt4 key购买 nike

我的表格 titles 看起来像这样

id |group|date                |title
---+-----+--------------------+--------
1 |1 |2012-07-26 18:59:30 | Title 1
2 |1 |2012-07-26 19:01:20 | Title 2
3 |2 |2012-07-26 19:18:15 | Title 3
4 |2 |2012-07-26 20:09:28 | Title 4
5 |2 |2012-07-26 23:59:52 | Title 5

我需要按日期降序排列的每个组的最新结果。像这样

id |group|date                |title
---+-----+--------------------+--------
5 |2 |2012-07-26 23:59:52 | Title 5
2 |1 |2012-07-26 19:01:20 | Title 2

我试过了

SELECT *
FROM `titles`
GROUP BY `group`
ORDER BY MAX( `date` ) DESC

但我从小组中得到了第一批结果。像这样

id |group|date                |title
---+-----+--------------------+--------
3 |2 |2012-07-26 18:59:30 | Title 3
1 |1 |2012-07-26 19:18:15 | Title 1

我做错了什么?如果我使用 LEFT JOIN,这个查询会变得更复杂吗?

最佳答案

This page对我很有帮助;它教会了我如何使用自连接来获取每个组的最大/最小/某物 n 行。

在您的情况下,它可以像这样应用于您想要的效果:

SELECT * FROM
(SELECT group, MAX(date) AS date FROM titles GROUP BY group)
AS x JOIN titles USING (group, date);

关于MySQL 使用 GROUP BY 按日期排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11695803/

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