2010-02-24 65 views
1

對不起,如果標題混亂。這裏是我的查詢如何按字段排序我的查詢,然後按db2中該字段的子集對它進行排序?

Select MONTH(DATE(TIMESTAMP)), SUM(FIELD1), SUM(FIELD2) from TABLE WHERE TIMESTAMP BETWEEN '2009-07-26 00:00:00' AND '2010-02-24 23:59:59' GROUP BY MONTH(DATE(TIMESTAMP)) 

這將讓我從查詢中獲取月份號。現在的問題是,它現在正在對1,2,3,4個月進行排序......當它跨越兩個不同的年份時。我需要能夠在年份和月份之間對這個查詢進行排序。

如果我在查詢的末尾加上「ORDER BY TIMESTAMP」我得到這個錯誤:

列TIMESTAMP或表達的SELECT列表無效。 SQLCODE = -122

而且我改變了字段名稱這一問題,以保持明確的領域實際上沒有所謂的TIMESTAMP

+0

這是奇怪的是,你不能通過時間戳字段來排序,我一直這樣做。 – casraf 2010-02-24 13:33:59

回答

2

你在今年需要再組:一個月

SELECT YEAR(YourField), 
Month(YourField), 
SUM(Field1), 
SUM(Field2) 
FROM Table 
WHERE... 
GROUP BY 
YEAR(YourField), 
Month(YourField) 
ORDER BY 
YEAR(YourField), 
Month(YourField) 
+0

TThanks爲快速響應。它效果很好。 – Mike 2010-02-24 14:15:25