2016-04-08 24 views
1

Sipariş tarihini azalan sırada sıralamaya çalışıyorum ama burada tarih, siparişi vermeden geliyor, ancak zaman, söz konusu sırada geliyor.Tarih ile saatin tarih sırasına göre sıralanmasına neden olan sorgu

Benim sorgusu:

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; 

orderdate bu şekilde sıralanır:

olarak onu istiyorum oysa
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 

bana yardım edin.

+1

'DESC' yerine' ASC' kullanın? – assylias

+0

ASC, artan bir düzende arrrange .. – user2853879

+0

'ORDER BY m.requi_date :: date DESC, DESC' siparişini sadece 'ORDER BY m.requi_date DESC' ile değiştirmeyi denediniz mi? – assylias

cevap

0

Bir char olarak orderdate seçerek, bu yüzden o, lexically sipariş ediliyor nerede (../2016 08:52.. ve ../2016 10:45.. olarak) 6 1>6 0.

m.requi_date türünü bilmiyorum, ancak bir tarih-saat türü olduğundan şüpheleniyorum. Bu yüzden, sadece yerine m.requi_date DESC,orderdate DESC yerine sipariş vermeniz gerekir.

İlgili konular