[英]sql server grouping results
此查詢返回它下面的列表,但是ID出現了多次,我可以將ID分組並匯總所有播放嗎,所以我只是得到一個唯一ID列表,其旁邊是播放總數。 在SQL這可能嗎?
SELECT [fkPlayerId],[plays]
FROM [dPlaysPerDay]
INNER JOIN dWinners
ON [dPlaysPerDay].[fkPlayerId]=dWinners.[pkWinnerId]
53693 1
53695 1
53696 1
53693 1
53692 2
53698 2
53697 1
53699 2
53698 3
53693 6
53699 2
53693 2
53700 2
53698 1
使用GROUP BY
, SELECT
中的所有數據項必須包含在GROUP BY
或放置在Aggregate Function中 。
因此, fkPlayerId
應分組,和plays
與所使用的SUM()
函數
SELECT [fkPlayerId], SUM([plays])
FROM [dPlaysPerDay]
INNER JOIN dWinners ON [dPlaysPerDay].[fkPlayerId]=dWinners.[pkWinnerId]
GROUP BY fkPlayerId
要對聚合函數進行ORDER BY
,請給數據項一個別名,並按以下順序排序:
SELECT [fkPlayerId], SUM([plays]) as TotalPlays
FROM [dPlaysPerDay]
INNER JOIN dWinners ON [dPlaysPerDay].[fkPlayerId]=dWinners.[pkWinnerId]
GROUP BY fkPlayerId
ORDER BY TotalPlays
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.