我需要一些PostgreSQL查詢幫助。 我有4個表涉及它:客戶,organization_complete,實體和地址。我從每個人,這個查詢檢索的一些數據:PostgreSQL - 具有聚合函數的查詢
SELECT distinct ON (c.customer_number, trim(lower(o.name)), a.street, a.zipcode, a.area, a.country)
c.xid AS customer_xid, o.xid AS entity_xid, c.customer_number, c.deleted, o.name, o.vat, 'organisation' AS customer_type, a.street, a.zipcode, a.city, a.country
FROM customer c
INNER JOIN organisation_complete o ON (c.xid = o.customer_xid AND c.deleted = 'FALSE')
INNER JOIN entity e ON e.customer_xid = o.customer_xid
INNER JOIN address a ON (a.contact_info_xid = e.contact_info_xid and a.address_type = 'delivery')
WHERE c.account_xid = "<value>"
我得到一個不同的CUSTOMER_NUMBER,名稱,街道,郵政編碼,區域和國家(什麼是DISTINCT ON語句後指定)分裂的所有客戶。 我現在需要檢索的是所有客戶在數據庫上有一個加倍的行,但我也需要檢索customer_xid和entity_xid,它們是各個表的主鍵,因此是唯一的。出於這個原因,他們不能被包含到一個聚合函數中。我需要的是統計每個不同元組具有相同customer_number,name,street,zipcode,area和country的行數,並且只選擇計數大於1的元組。 對於每個選定的元組,我還需要採取customer_xid和entity_xid,隨意,像MySQL會在這樣的查詢用的A_Key做:
SELECT COUNT(*), tab.a_key, tab.b, tab.c from tab
WHERE 1
GROUP BY tab.b
我知道MySQL是關於這相當一個例外,我只是想知道是否有可能獲得PostgreSQL上的結果相同。
感謝,
L.
MySQL不是那麼壞,即使它不會運行該查詢,請糾正它。 –
該查詢在MySQL上運行... –
哇,我得到了currious,只是自己測試了查詢。它。真。作品。我知道MySQL壞了,但是_that_壞了?!? @JakubKania好像我的+1對你的評論有點太快... – DrColossos