2016-07-22 52 views
1

我有表所示:從兩列選擇的數據作爲陣列中的一個列進行排序,並在另一列分組

CREATE TABLE IF NOT EXISTS "points" (
    "id" INTEGER NOT NULL, 
    "lat" DOUBLE PRECISION NOT NULL, 
    "lon" DOUBLE PRECISION NOT NULL 
); 

INSERT INTO "points" ("id", "lat", "lon") VALUES 
    (1,51.11,-0.11), 
    (2,51.12,-0.12), 
    (3,51.13,-0.13), 
    (4,51.14,-0.14), 
    (5,52.44,-2.44), 
    (6,52.45,-2.45), 
    (7,52.46,-2.46), 
    (8,52.47,-2.47); 

從兩列(latlon)作爲JSON陣列如何選擇數據從表排序在一列(id)? 結果應該是:

[ 
    [51.11,-0.11],[51.12,-0.12], 
    [51.13,-0.13],[51.14,-0.14], 
    [44,-2.44],[52.45,-2.45], 
    [52.46,-2.46],[52.47,-2.47] 
] 
+0

期望的結果不團。分組意味着什麼? –

+0

@ClodoaldoNeto我編輯的問題 - 分組不需要,只有排序。 – HasT

回答

1
select to_json(array_agg(array[lat,lon] order by id)) 
from points 
; 
                 to_json              
------------------------------------------------------------------------------------------------------------------- 
[[51.11,-0.11],[51.12,-0.12],[51.13,-0.13],[51.14,-0.14],[52.44,-2.44],[52.45,-2.45],[52.46,-2.46],[52.47,-2.47]] 
相關問題