有一张表'评论'与专栏'作家'并且喜欢'。 '作家'是作者的用户名,并且喜欢'该评论的喜欢次数。
我现在需要选择特定用户的喜欢总量。
例如这个表:
BasePermissions
用户' x'的选择(我需要)应该返回14,对于用户' y' 3。
答案 0 :(得分:2)
SELECT writer, sum(likes) from comments
GROUP BY writer;
此查询将对每个作者的评论求和,这要归功于" GROUP BY"
答案 1 :(得分:1)
您应该使用GROUP BY编写器来组合相同的编写器和编组器。 SUM(喜欢)获得总喜欢。
SELECT writer, SUM(likes) FROM comments GROUP BY writer
答案 2 :(得分:1)
如果要选择特定的编写器,可以使用以下SQL语句:
SELECT SUM(likes) FROM comments WHERE writer = 'x'
SUM(likes)
提供“总计算”,WHERE writer = 'x'
表示这是针对特定作者'x'。
要同时为所有用户选择喜欢的总数,可以这样做:
SELECT writer, SUM(likes) FROM comments GROUP BY writer
这包括writer
和SUM(likes)
,并使用GROUP BY writer
子句按编写者对总计进行分组。
如果您想在一个查询中为某些用户(但不是所有用户)选择喜欢的总数,我们可以合并之前的语句,如下所示:
SELECT writer, SUM(likes) FROM comments WHERE writer IN ('x', 'y') GROUP BY writer
在这种情况下,WHERE writer IN ('x', 'y')
允许仅为作者的'x'和'y'选择结果。对于许多情况来说,这种技术非常强大,在这种情况下,为所有编写者选择记录会过度,并且一次选择一个编写器可能会成为性能问题。