2012-07-03 106 views
0
訂購

我有包含日期​​格式的第一列近15000數據行: 2012-05-10 09:00:00.000GROUP BY,由日期時間

我需要這個數據按年則月,日,然後小時,以便於進行排序例如:

  2012-05-10 09:00:00.000 
     2012-05-10 10:00:00.000 
     2012-05-10 11:00:00.000 
     2012-05-10 12:00:00.000 
     2012-05-11 09:00:00.000 
     2012-05-11 10:00:00.000 
     2012-05-11 11:00:00.000 
     2012-05-11 12:00:00.000 
     2012-06-01 02:00:00.000 
     2012-06-01 03:00:00.000 
     2012-06-01 04:00:00.000 
     2012-06-01 05:00:00.000 

當前SQL查詢做,這是下面:

SELECT MIN(Datetime) GROUP BY DATEPART(M,jmusa_LOG1.DateTime),DATEPART(D,jmusa_LOG1.DateTime),DATEPART(HH,jmusa_LOG1.DateTime) HAVING MIN(jmusa_LOG1.DateTime) NOT IN(SELECT DateTime FROM AverageRawData)

ORDER BY DATEPART(M,jmusa_LOG1.DateTime),DATEPART(D,jmusa_LOG1.DateTime),DATEPART(HH,jmusa_LOG1.DateTime)

+0

您無法按年份對結果進行排序,因爲這不包含在您的分組中。例如,「2012-05-10 09:00」和「2011-05-10 09:00」的值將最終在同一組中。 – Guffa

+1

您當前的查詢不能編譯。 – RedFilter

+0

看起來你錯過了一個'FROM'子句。 –

回答

1

你描述一個正常的日期排序,所以你可以這樣做:

select MyDate 
from AverageRawData 
order by MyDate 

如果你不想重複,加上DISTINCT這樣的:

select distinct MyDate 
from AverageRawData 
order by MyDate 

如果這樣做不符合您的要求,請提供用於生成輸出示例的示例數據。

+0

我正在使用Group by和order by,因爲我在上面的代碼中沒有顯示其他列中的聚合 – jacobronniegeorge

+0

請發佈示例數據和所需輸出。 – RedFilter

+0

由於數據太大,我把它放在一個csv文件中:http://www.sendspace.com/file/c1rxlr我希望平均數據按月份和日期和年份排序。所以當Select語句對其他列進行平均時,它們將根據日期和按小時進行排列 – jacobronniegeorge