从特定单元格中获取总和的SQL选择

时间:2016-06-21 16:00:18

标签: mysql sql group-by

有一张表'评论'与专栏'作家'并且喜欢'。 '作家'是作者的用户名,并且喜欢'该评论的喜欢次数。

我现在需要选择特定用户的喜欢总量

例如这个表:

BasePermissions

用户' x'的选择(我需要)应该返回14,对于用户' y' 3。

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

这包括writerSUM(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'选择结果。对于许多情况来说,这种技术非常强大,在这种情况下,为所有编写者选择记录会过度,并且一次选择一个编写器可能会成为性能问题。