2017-08-11 57 views
-3

我是sqlserver中的新手。我有一個名爲UserTransactions的表。如何在Sql Server中的列中進行分組select

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 
+3

你嘗試過什麼迄今爲止解決問題? –

回答

1
SELECT WinnerWeek, UserGSM AS SmsSending, Count(*) 
FROM UserTransactions 
GROUP BY WinnerWeek, UserGSM 
+0

不,這個查詢和@kannan一樣。你可以請你能在sqlfiddle中做到嗎? –

+0

http://sqlfiddle.com/#!6/6fdb0/1 –

+0

非常感謝你,我看到了我的錯誤。 –

1

您可以直接GROUP BY和得到這個數:

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

此查詢不起作用。計數列只給出1 –

+0

@JohnLin - 根據您的數據和此查詢,您不應只得到1個計數列。 –

+0

非常感謝你,我看到了我的錯誤。 –

0
SELECT 
    WinnerWeek 
    ,usergsm,count(WinnerWeek) as WeeklyCount 
FROM usertransactions 
GROUP BY WinnerWeek,usergsm 

'ID' 應在表的主鍵

相關問題