2016-06-21 55 views
2

有一列表'comments'与列'writer'和'likes'。 'writer'是作者的用户名,'喜欢'该评论的喜欢数量。从特定单元格中获取总和的SQL选择

我现在需要一个选择,为特定用户选择总喜欢量。

例如该表中:

writer likes 
x  5 
x  2 
x  7 
y  3 

为用户的 'x' 的选择(我需要)应返回14,为用户的 'y' 3.

回答

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'选择结果。这种技术对于许多情况下非常有用,在这种情况下,为所有作者选择记录会过度,并且一次选择一个作者可能会成为性能问题。

2
SELECT writer, sum(likes) from comments 
GROUP BY writer; 

该查询将总结每个作者的评论感谢“GROUP BY”

+0

如果您添加了关于查询如何工作的更多信息,它会提高答案的质量。 –

1

您应该使用GROUP BY编写器来合并相同的作家SUM(喜欢)来获得总喜欢。

SELECT writer, SUM(likes) FROM comments GROUP BY writer 
相关问题