gpt4 book ai didi

mysql order by 后跟 group by

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

所以我即将将我的服务器迁移到新机器。我在新机器上安装较新版本的mysql 5.7.13,而旧版本的mysql 5.5.13。有一个查询不像以前那样工作与之前的服务器数据相同

select * 
from
( select *
from user_config
where username like '%'
and updatetime <= '2500-01-01 00:00:00'
order
by updatetime desc
) x
group
by username;

mysql 5.5.13 按我想要的方式工作,它加载每个用户的最新配置设置。但 5.7.13 改为加载每个用户最旧的配置设置

为什么会发生这种情况?

我尝试运行子查询,它工作得很好,但是当我结合到上面的查询时,它不起作用

示例数据

username|value|updatetime
a | 100|2014-01-01 00:00:00
b | 85|2014-06-01 00:00:00
a | 150|2016-05-01 00:00:00
c | 50|2016-06-01 00:00:00
c | 75|2016-06-23 00:00:00

我需要的结果是

a|150
b|85
c|75

最佳答案

SELECT x.* 
FROM my_table x
JOIN
( SELECT username
, MAX(updatetime) updatetime
FROM my_table
GROUP
BY username
) y
ON y.username = x.username
AND y.updatetime = x.updatetime;

关于mysql order by 后跟 group by,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38026645/

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