我正在尝试使用Oracle的ORDER BY语句以及以下查询...
SELECT TO_CHAR(transaction_date, 'MON-YYYY') AS MONTHS
FROM transaction_upload
WHERE EXTRACT(YEAR FROM transaction_date) = 2009
GROUP BY TO_CHAR(transaction_date, 'MON-YYYY')
ORDER BY MONTHS;
我得到的结果是:
MONTHS
-----------------
APR-2009
AUG-2009
DEC-2009
FEB-2009
JAN-2009
JUL-2009
JUN-2009
MAR-2009
MAY-2009
NOV-2009
OCT-2009
SEP-2009
我做错了什么?
答案 0 :(得分:2)
尝试按时间顺序排序。
SELECT TO_CHAR(transaction_date, 'MON-YYYY') AS MONTHS
FROM transaction_upload
WHERE EXTRACT(YEAR FROM transaction_date) = 2009
GROUP BY TO_CHAR(transaction_date, 'MON-YYYY')
ORDER BY to_date (months,'MON-YYYY');
答案 1 :(得分:0)
尝试此查询,这将订购09年1月9日,
SELECT TO_CHAR(transaction_date, 'MON-YYYY') AS MONTHS ,
to_Char(transaction_date,'YYYYMM') NumMon
FROM transaction_upload
WHERE EXTRACT(YEAR FROM transaction_date) = 2009
GROUP BY TO_CHAR(transaction_date, 'MON-YYYY'),to_Char(transaction_date,'YYYYMM')
ORDER BY NumMon;