2016-04-08 23 views
1

降順で注文日をソートしようとしていますが、ここでは日付が降順になっていますが、時間はこの順番ではありません。postgresで降順で日付をソートするクエリ

マイクエリ:

SELECT get_sub_test_name(test_id, sub_test_id) as testname, 
     quantity, status, receipt_no, cash_book,    
     to_char(m.requi_date,'dd/mm/yyyy hh:MIAM') AS orderdate, 
     r.service_type, r.volume, r.requi_id, r.requi_year 
FROM recommended_test as r , requisition_main as m 
WHERE r.requi_id=m.requi_id AND 
     m.reg_no='1401490' AND 
     m.hospital_id=17004 
ORDER BY m.requi_date::date DESC,orderdate DESC,m.requi_id DESC LIMIT 1000; 

受注日は、このようにソートされています

として私はそれをしたいのに対し、
15/01/2016 10:45AM  
15/01/2016 10:45AM 
15/01/2016 08:52PM 
15/01/2016 08:52PM 

    15/01/2016 08:52PM 
        15/01/2016 08:52PM 
        15/01/2016 10:45AM 
        15/01/2016 10:45AM 

が私を助けてください。

+1

「DESC」ではなく「ASC」を使用しますか? – assylias

+0

ASCは昇順に整列します。 – user2853879

+0

'ORDER BY m.requi_date :: date DESC、orderdate DESC'を単に' ORDER BY m.requi_date DESC'と置き換えてみましたか? – assylias

答えて

0

あなたはcharとしてorderdateを選択しているので、それは、辞書的に注文されている場所(../2016 08:52..../2016 10:45..中)6 1>6 0

私はm.requi_dateのタイプを知らないが、それはdatetimeタイプと思われる。だからの代わりにm.requi_date DESCを注文するだけで結果が得られるはずです。

関連する問題