-2

我正在尝试将数据从 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
4

2 回答 2

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)
于 2012-09-27T19:30:18.303 回答
-2

原始帖子回答了我提出的问题。我的查询中有一个不属于那里的 where 语句。

于 2012-09-27T19:31:08.880 回答