Sql server SQL Server数据透视表(小时)
我有一个T-SQL查询,如下所示,它查询一个包含搜索数据的表,并获取搜索时间和该搜索时间的行数Sql server SQL Server数据透视表(小时),sql-server,tsql,sql-server-2008-r2,pivot,Sql Server,Tsql,Sql Server 2008 R2,Pivot,我有一个T-SQL查询,如下所示,它查询一个包含搜索数据的表,并获取搜索时间和该搜索时间的行数 SELECT DATEPART(HOUR, aps.CreatedOn) AS SearchHour, COUNT(*) AS ItemCOUNT FROM ASearches aps GROUP BY DATEPART(HOUR, aps.CreatedOn) ORDER BY SearchHour; 正如你所看到的,这并不能产生一个很好的结果。但是,我知道如果我使用一个透视表,并将小时作为列名
SELECT DATEPART(HOUR, aps.CreatedOn) AS SearchHour, COUNT(*) AS ItemCOUNT
FROM ASearches aps
GROUP BY DATEPART(HOUR, aps.CreatedOn)
ORDER BY SearchHour;
正如你所看到的,这并不能产生一个很好的结果。但是,我知道如果我使用一个透视表,并将小时作为列名,那会更好。我试过了,但到目前为止一直失败
知道怎么做吗?类似这样的事情:
SELECT *
FROM (SELECT DATEPART(HOUR, CreatedOn) AS SearchHour
FROM ASearches) aps
PIVOT (COUNT([SearchHour]) FOR SearchHour IN
( [0], [1], [2], [3], [4], [5],
[6], [7], [8], [9], [10], [11],
[12], [13], [14], [15], [16], [17],
[18], [19], [20], [21], [22], [23])) as pvt
啊,很好。有一个错误,我改正了。谢谢啊,是的,对不起-我在我拥有的数据库上工作了,然后用你原来的名字编辑了回来-错误:)谢谢