gpt4 book ai didi

mysql - 使用group by获取字段的最新值

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

我正在进行一个查询,我希望对作业 ID 进行分组,但我希望结果中没有发生最新的时间戳行

这是 SQL fiddle

http://sqlfiddle.com/#!9/de8769

表格的正常 View 是

enter image description here

使用我所做的查询后的输出

SELECT 
DISTINCT(user_id),
job_id,
message,
receiver_id,
parent,
type,
id as id FROM ai_ms_messages
WHERE (receiver_id = '7' OR user_id = '7') AND type<>0 AND type<>2 group by job_id
ORDER BY max(timestamp) DESC

enter image description here

但是正如您所看到的,对于 job_id 11,它的 id 值为 3,但它应该采用值 5(因为这是 job_id 11 的最新值),而且顺序也是错误的。由于 job_id 11 是最新的,而不是 job_id 12。有什么办法可以实现这一点吗?

最佳答案

查询将是:

select 
distinct(m1.user_id),
m1.job_id,
m1.message,
m1.receiver_id,
m1.parent,
m1.type,
m1.id as id from ai_ms_messages as m1
where m1.type<>0 and m1.type<>2
and m1.timestampt = (select max(m2.timestamp) from ai_ms_messages as m2 where m2.job_id = m1.job_id)

关于mysql - 使用group by获取字段的最新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41932866/

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