2013-07-10 89 views
0

希望你能幫助我解決這個問題......我需要對存儲在SQL Server 2012數據庫中的一些數據進行一些分析。將查詢結果拆分爲15分鐘的間隔

我目前得到的查詢拆分結果爲1小時的塊,但我也需要查詢將結果拆分成15分鐘和30分鐘卡盤,我不知道如何去做。我在網上看了一下,但是我發現沒有太多道理。

下面是我使用的每小時分裂

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

不是說你問,但它是高度問題,您比較的日期範圍在一個char類型值包含的東西,如「2013年5月21」。例如,「2012年5月22日」呢?

作爲一般的方法,如果你想收集時間支架方面的數據,看看這個StackOverflow的問題和答案:How to Round a Time in T-SQL

然後GROUP BY四捨五入的時間值。