這可能是解決方案找我採取了樣本數據和表變量@t來解決它COL1在表是指你的問題
SET DATEFORMAT DMY
DECLARE @t TABLE
(
Id int,
Name varchar(11),
[Col1] DateTime
)
INSERT INTO @t
VALUES(1,'ABC','22/12/2012 03:45:00 PM'),(2,'SD','22/12/2012 03:01:00 PM'),(3,'SDSA','22/12/2012 02:01:00 PM'),(4,'ASDF','22/12/2012 03:30:00 PM'),(5,'ASWER','22/12/2012 02:30:00 PM')
,(11,'NARI','21/12/2012 03:40:00 PM')
SELECT CASE WHEN CAST(COL1 AS TIME) >'15:00:00' THEN CAST(DATEADD(DAY,1,Col1) AS date) ELSE CAST(Col1 AS DATE) END AS ORDERS,COUNT(*) AS COUNT
FROM @t
GROUP BY CASE WHEN CAST(COL1 AS TIME) >'15:00:00' THEN CAST(DATEADD(DAY,1,Col1) AS date) ELSE CAST(Col1 AS DATE) END
的可能的複製[如何按小時或一組時間由10分鐘](http://stackoverflow.com/questions/5002661/how-to-group-time-by-hour-or-by-10-minutes) – AleFranz
我不明白如何適用於這個問題。該問題是關於10分鐘間隔的分組。我嘗試了'group by(datepart(hour,order_datetime)/ 24)',但沒有奏效。 –
幾天前我回答了這樣的問題。 http://stackoverflow.com/questions/34322662/how-do-you-select-all-records-in-a-24-hour-time-period-and-summarize-the-data-in/34322991#34322991 The只需要一個比較開始時間,然後你基於它做一個datediff(hh ...)/ 24。編輯:它也取決於你的桌子的結構,所以你可能需要得到更具體的比日期時間(嗯...像datediff(mi ... - 答案它的結構與每小時日期時間。 – ZLK