簡體   English   中英

postgresql左聯接和排序

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM