[英]postgresql left join and order by
我正在運行以下查詢以根據與另一個表(下例中的Registy_2018_DEF)中存儲的編碼系統的匹配從表(下例中的2018_01)中提取數據:
COPY (Select a.mmsi, a.locdate, a.loctime, a.lon, a.lat
from "2018_01" a
left join "Registry_2018_DEF" b
using (mmsi)
WHERE b.stcodedef = '0')
TO 'C:\AIS_DEF\DEF\FINAL\2018\2018_01\csv_ship_types\st_0_2018_01.csv' DELIMITER ';' CSV HEADER;
它可以正常運行,但結果csv中的記錄並非總是排序。 我想將生成的csv輸出按mmsi(ASC),locdate(ASC)和loctime(ASC)排序。 mmsi列是數字類型,locdate是日期,loctime是文本;
我該怎么做? 謝謝
為什么不只向查詢添加ORDER BY
子句?
COPY (
select a.mmsi, a.locdate, a.loctime, a.lon, a.lat
from "2018_01" a
left join "Registry_2018_DEF" b using (mmsi)
where b.stcodedef = '0'
order by a.mmsi, a.locdate, a.loctime
) TO 'C:\AIS_DEF\DEF\FINAL\2018\2018_01\csv_ship_types\st_0_2018_01.csv'
DELIMITER ';'
CSV HEADER;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.