2016-06-21 61 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 
相關問題