我正在尝试按降序对订单日期进行排序,但是这里的日期按降序排列,但时间没有按照上述顺序进行。
我的查询:
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以这种方式排序:
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
请帮帮我。
答案 0 :(得分:2)
您选择orderdate
作为字符,因此正在按词汇顺序排列,其中6 1
> 6 0
(../2016 08:52..
和../2016 10:45..
)。
我不知道m.requi_date
的类型,但我怀疑它是日期时间类型。因此,您只需按m.requi_date DESC
而不是m.requi_date DESC,orderdate DESC
进行排序,即可得到您所获得的结果。