Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.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 - Fatal编程技术网

如何在Sql Server中对列进行分组选择

如何在Sql Server中对列进行分组选择,sql,sql-server,Sql,Sql Server,我是sqlserver的新手。我有一个名为UserTransactions的表 WinnerWeek UserGSM w1 1000000001 w2 1000000002 w2 1000000003 w2 1000000002 w2 1000000003 w2 1000000003 w2 1000000003 w3 100

我是sqlserver的新手。我有一个名为UserTransactions的表

WinnerWeek   UserGSM 
w1           1000000001
w2           1000000002
w2           1000000003 
w2           1000000002
w2           1000000003 
w2           1000000003 
w2           1000000003 
w3           1000000004
w3           1000000005
w3           1000000005
w3           1000000005
w4           1000000005
w4           1000000002
我希望生成如下所示的输出。但是,我该怎么做呢。如果可能的话,请给我sql查询,谢谢

WinnerWeek   UserGSM       WeeklyCount
w1           1000000001     1
w2           1000000002     2
w2           1000000003     4
w3           1000000004     1
w3           1000000005     3
w4           1000000005     1
w4           1000000002     1

您可以直接分组并获得此计数:

Select WinnerWeek, SmsSending, Count(*) from yourtable
   group by WinnerWeek, SmsSending

分组依据
订购依据
将协同工作,为您获取此信息

SELECT 
    winnerweek
    ,usergsm
    ,COUNT(*) AS weeklycount
FROM UserTransactions
GROUP BY 
    winnerweek
    ,usergsm
ORDER BY winnerweek
请阅读以下内容,以便您能够理解这一点

分组人:

订购人:


“Id”应该是表中的主键

到目前为止,您是否尝试过任何方法来解决此问题?没有,此查询与@kannan相同。您能在SQLFIDLE中完成吗?@JohnLin-根据您的数据和此查询,计数列不应仅得到1。
SELECT 
    winnerweek
    ,usergsm
    ,COUNT(*) AS weeklycount
FROM UserTransactions
GROUP BY 
    winnerweek
    ,usergsm
ORDER BY winnerweek
SELECT 
    WinnerWeek
    ,usergsm,count(WinnerWeek) as WeeklyCount 
FROM usertransactions 
GROUP BY WinnerWeek,usergsm