[英]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.