2
類似記錄我有PostgreSQL中以下查詢:GROUP_CONCAT在PostgreSQL中
SELECT sale_order.id,sale_order.name AS orden, now()::date AS hoy,
sale_order.create_date::date, split_part(res_partner.name,' ',1) AS cliente,
res_partner.email,sale_order.amount_total,res_currency.name FROM
sale_order,product_pricelist,res_currency,res_partner WHERE
sale_order.partner_id = res_partner.id
AND sale_order.pricelist_id = product_pricelist.id
AND product_pricelist.currency_id = res_currency.id
AND sale_order.state = 'sent'
ORDER BY sale_order.create_date DESC;
所得集是這樣的:
658, SO658, 2015-05-17, 2015-04-16, Alejandro, [email protected], 14272.00, MXN
654, SO654, 2015-05-17, 2015-04-15, Edgar, [email protected], 4994.96, MXN
653, SO653, 2015-05-17, 2015-04-15, Edgar, [email protected], 3007.29, USD
正如你所看到的,第二和第三記錄是以某種方式重複,不知何故,因爲它是相同的用戶,但具有不同的編號,訂單名稱,日期等
我想如何做是忽略日期和金額,但GROUP_CONCAT命令南ES,所以最終的結果是這樣的:
SO658, Alejandro, [email protected]
SO653 & SO654, Edgar, [email protected]
正如你所看到的,我放棄了不必要的列和GROUP_CONCAT屬於同一用戶的命令名稱,以便在最終每個用戶將只有一個記錄顯示他們的所有訂單名稱。
我該如何在PostgreSQL中做到這一點?
謝謝!
我想過使用ARRAY_AGG但我使用的版本8.4版本(CentOS 6.5) –
'ARRAY_AGG()'在8.4推出。另外,請在您的問題中指定您的PostgreSQL版本(特別是在使用舊版本時),人們可以更容易地爲您提供幫助。 – Marth
對不起,這是我的第一個問題。 BTW的任何方式來刪除()該array_agg似乎把每個後面添加一個空格,? –