Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sql server分组结果_Sql_Sql Server_Sql Server 2008 - Fatal编程技术网

sql server分组结果

sql server分组结果,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,这个查询返回它下面的列表,但是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

这个查询返回它下面的列表,但是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

使用
分组依据
时,
选择
中的所有数据项都必须包含在
分组依据
中,或者放在一个列表中

因此,
fkPlayerId
应按分组,并与函数一起使用
playerid

要使用聚合函数
ORDER BY
,请为数据项提供别名,并按以下方式进行排序:

SELECT [fkPlayerId], SUM([plays]) as TotalPlays
FROM [dPlaysPerDay]
INNER JOIN dWinners ON [dPlaysPerDay].[fkPlayerId]=dWinners.[pkWinnerId]
GROUP BY fkPlayerId
ORDER BY TotalPlays

酷,谢谢你,科特!我可以在第二排点菜吗?我知道你可以按[列名]使用order,但这里我们得到一个没有名字的coulmn?
SELECT [fkPlayerId], SUM([plays]) as TotalPlays
FROM [dPlaysPerDay]
INNER JOIN dWinners ON [dPlaysPerDay].[fkPlayerId]=dWinners.[pkWinnerId]
GROUP BY fkPlayerId
ORDER BY TotalPlays