2012-09-27 106 views
-2

我試圖從表1數據轉變成表2SQL需要對數據進行分組由多個列

表1

UserId Date1 
1  9/26/2012 
2  9/26/2012 
1  9/26/2012 
1  9/26/2012 
2  9/26/2012 
2  9/27/2012 
2  9/27/2012 
1  9/27/2012 

表2

UserId Date1  recCount 
1  9/26/2012 3 
2  9/26/2012 2 
1  9/27/2012 2 
2  9/27/2012 1 

這顯然是行不通的,但不知道該從哪裏出發:

SELECT 
    UserId, 
    Date1, 
    Count(*) 
FROM table1 
GROUP BY UserId, Date1 
+5

這不起作用?什麼不工作? – LittleBobbyTables

+2

是否在您的Date1列上有時間? – msmucker0527

+3

請解釋「不起作用」是什麼意思,爲什麼這很明顯。對於給定的數據,你似乎正在執行你想要的查詢。 –

回答

-2

原帖解答了我問的問題。我在我的查詢中有一個where語句,不屬於那裏。

0

它看起來像只顯示包含時間的列的日期。您可以使用SQL Server 2008之後的CAST AS DATE刪除時間部分。

SELECT 
    UserId, 
    CAST(Date1 as date) Date1, 
    Count(*) RecCount 
FROM table1 
GROUP BY UserId, CAST(Date1 as date) 

如果transforming into你的意思是將數據放入另一張表,然後

INSERT table2 
SELECT 
    UserId, 
    CAST(Date1 as date), 
    Count(*) 
FROM table1 
GROUP BY UserId, CAST(Date1 as date)