希望你能帮我解决这个问题......我需要对存储在SQL Server 2012数据库中的一些数据进行一些分析。
我目前有查询将结果分成1小时的块,但我还需要查询将结果分成15分钟和30分钟的chucks,我不知道如何做到这一点。我在网上看过,但我发现的并没有多大意义。
以下是我用于每小时拆分的代码
SELECT Name, Description, CONVERT(varchar(14), RecordedDateTime, 113) + ':00:00' AS RecordedDateHour,
COUNT(Id) AS TotalRecordings, MIN(RecordedDateTime) AS MinRecordedDateTime,
MAX(RecordedDateTime) AS MaxRecordedDateTime,
COUNT(DISTINCT Id) AS TotalDistinctIds
FROM MainTable
WHERE RecordedDateTime >='21 May 2013' AND RecordedDateTime < '23 May 2013'
GROUP BY Name, Description, CONVERT(varchar(14), RecordedDateTime, 113) + ':00:00'
ORDER BY Name, Description, CONVERT(varchar(14), RecordedDateTime, 113) + ':00:00'
你能给予的任何帮助都会很棒。
由于
亚历
答案 0 :(得分:0)
并非您问过,但是高度有问题,您在比较包含“2013年5月21日”之类的字符的char类型值中的日期范围。例如,“2012年5月22日”怎么办?
作为一般方法,如果您想按时间段收集数据,请查看此StackOverflow问题并回答:How to Round a Time in T-SQL
然后GROUP BY
舍入时间值。