gpt4 book ai didi

mysql - 使用左连接计算来自另一个 mysql 表的记录

转载 作者:行者123 更新时间:2023-11-29 00:29:04 26 4
gpt4 key购买 nike

我有两个数据库表,一个存储事件,第二个存储该事件的任何相关评论。

数据库表:

events: id, owner_id, timestamp
comments: cmt_id, parent_id(events id), cmt_time

我正在尝试根据特定的 owner_id 获取每个事件的最后 5 条评论。

这就是我加入表格的方式:

SELECT * FROM `events` 
LEFT JOIN comments ON comments.parent_id=events.id
WHERE owner_id=X
ORDER BY timestamp DESC LIMIT 0,5

知道如何根据 event_id 获取评论数量吗?

最佳答案

您的问题是关于每个事件的评论数量(至少在我看来是这样)。为此,您需要使用 group by:

SELECT e.event_id, COUNT(c.parent_id) as NumComments
FROM events e left JOIN
comments c
ON c.parent_id=e.id
WHERE e.owner_id = X
group by e.event_id;

至于你问题中的查询。它不会执行您希望它执行的操作(“我正在尝试根据特定的 owner_id 获取每个事件的最后 5 条评论。”)。相反,它正在获取给定用户的最后五个评论。时期。

关于mysql - 使用左连接计算来自另一个 mysql 表的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17453914/

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