我正在尝试将table1中的数据转换为table2
表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
答案 0 :(得分: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)
答案 1 :(得分:-2)
原帖回答了我问的问题。我的查询中有一个where语句,不属于那里。