gpt4 book ai didi

mysql - 没有子查询的最新数据分组

转载 作者:可可西里 更新时间:2023-11-01 07:07:53 24 4
gpt4 key购买 nike

这是一个很常见的情况,但我不确定我是否做错了什么。

TABLE POSTS [ ID, USER_ID, TOPIC_ID, TIME ]

我只想获取每个用户在 topic_id '1' 上的最后一篇文章

SELECT p.*
FROM
posts p,
(
SELECT user_id, max(time) mtime
FROM posts
WHERE topic_id = 1
GROUP BY user_id
) pm
WHERE
p.user_id = pm.user_id AND
p.time = pm.mtime

这是正确的吗?有没有没有子查询的方法可以做到这一点?

是否可以选择使用 spring-data 查询获取此数据,或者这只是一个 JDBC/存储过程?

最佳答案

您可以通过使用 join 使用子查询获取每个用户的最新帖子:

SELECT p.* 
FROM posts p
LEFT OUTER JOIN posts t
ON(p.user_id = t.user_id and p.time < t.time and t.topic_id = 1)
WHERE p.topic_id = 1 and t.topic_id is null

关于mysql - 没有子查询的最新数据分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35596923/

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