gpt4 book ai didi

具有 SELECT 条件的 MYSQL COUNT

转载 作者:行者123 更新时间:2023-11-30 21:51:33 25 4
gpt4 key购买 nike

我是新手,请帮助我完成我的项目。我在下面有 2 个表。

表用户:

Table User

表赞

Table Likes

我想计算每个 story_id 的所有喜欢数,并检查给定用户是否喜欢这个故事,否则它将返回 null。

到目前为止,这是我的查询和输出,给定用户 id = 1。

SELECT COUNT(*) , sl.story_id, u.id as user
FROM stories_likes sl
LEFT JOIN users u ON sl.user_id = u.id AND sl.user_id = 1
GROUP BY sl.story_id

我的输出: OUTPUT

但我想要得到的输出是:给定:user_id = 1

enter image description here

给定 user_id = 4

enter image description here

抱歉我不知道如何构造我的问题。提前致谢

最佳答案

如果查询应该只显示一个特定 user_id 的结果,那么请尝试以下查询:

select count(*),
story_id,
(case find_in_set(1, Group_concat(user_id separator ',')) >0 then 1
else NULL
end
)as user_id
from Stories_Likes
group by story_id;

在上面的查询中,你可以在 when 之后手动放置 user_id,或者你可以设置一个具有特定 Id 的变量并在查询中使用它。

例如,如果您想检查 user_id=4,则将 4 放在 whenthen 之后>.

Click here for the Updated Demo

希望对您有所帮助!

关于具有 SELECT 条件的 MYSQL COUNT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46998515/

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