gpt4 book ai didi

mysql - MySQL 中的连接、分组和求和

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

我在 MySQL 数据库中有以下三个表,以便对用户的评论进行评分:

Users:

id name
-----------
1 Smith
2 Brown


Comments:

id user_id post_id comment
-----------------------------------
1 2 1 Test 1
2 1 1 Test 2
3 1 1 Test 3


Scores:

id user_id comment_id score
------------------------------------
1 1 1 1

现在我想选择 post_id = 1 的所有评论,加上用户名以及该特定评论的所有分数总和。乍一看很简单,我想出了这个查询:

SELECT users.name, comments.comment, SUM(scores.score) AS score
FROM comments
LEFT JOIN users ON users.id = comments.user_id
LEFT JOIN scores ON scores.comment_id = comments.id
WHERE comments.post_id = 1
GROUP BY scores.comment_id

它似乎有效,但是当特定评论没有分数时,该评论不会显示,我猜是因为 MySQL 无法GROUP BY NULL。那么,有什么办法可以包含那些未评分的评论呢?像这样:

Query result:
name comment score
-------------------------
Brown Test 1 1
Smith Test 2 0
Smith Test 3 0

最佳答案

您可以尝试对 comments.id 进行分组吗?

关于mysql - MySQL 中的连接、分组和求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2212945/

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