【发布时间】:2014-06-15 17:28:01
【问题描述】:
我在 MySql 中有这个查询,我想知道,在 postgresql 中可以吗? 我想知道它是否应该是我需要改变的东西:)
我最关心的是不应该按功能分组 可以在后期执行。
我愿意考虑迁移到 postgres 的可能性,我想知道 如果我使用的当前查询可以完成工作!
提前感谢您的帮助, vinc
SELECT
#GROUP BY
dc.region as Region
,(DATEDIFF(CURRENT_TIMESTAMP,cc.activated_at)) AS 'Listing Age'
,cc.sku AS SKU
,CONCAT(dc.venture_url,cc.urlkey_details) as URL
, cc.status 'Listing Status'
# REGION
, region.name_en Region
,(CASE WHEN is_agent=1 THEN supplier.name ELSE concat(supplier.name, ' (private)') END) AS Agent
# Car type
, ct.label_en as 'Vehicle Type'
,(Case
WHEN cc.fk_catalog_attribute_option_global_condition=1 THEN 'New'
ELSE 'Other' END) AS 'Condition'
, ca.name_en as Brand
FROM
catalog_product_visible cpv
join catalog_config cc on cc.country_id = cpv.country_id and cc.id_catalog_config = cpv.fk_catalog_config
left join
dwh_country dc on dc.country_id = cc.country_id
JOIN supplier AS supplier ON supplier.country_id = cc.country_id AND supplier.id_supplier = cc.product_owner
LEFT JOIN
(SELECT
profile_isocode,
date_format(report_date,'%x-%v') as date,
sum(coalesce((case when event_action IN ('Email Lead Success', 'Contact Submit Sucess') OR event_category = 'Email Lead Success' then total_events end),0)) as EmailLead,
sum(coalesce((case when event_action IN ('Phone Lead Success', 'Show number Top', 'Show number Bottom', 'Show number Agency') OR event_category IN ('Phone Lead Success') then total_events end),0)) as PhoneLead,
sum(coalesce((case when event_category IN ('SMS Lead Success') then total_events end),0)) as SMSLead
FROM dwh_eventlistings c
WHERE (event_action in ('Contact Submit Sucess')
GROUP BY 1,2,3,4,5,6) AS leads ON leads.profile_isocode = pv.profile_isocode AND leads.listing_id = pv.listing_id AND leads.date = date_format(pv.report_date,'%x-%v')
LEFT JOIN catalog_simple AS cs ON cs.fk_catalog_config = cc.id_catalog_config AND cs.country_id = cc.country_id
WHERE supplier.name not like '%test%' and URL not like '%test%'
GROUP BY
country, sku, report_week, source, medium, campaign
【问题讨论】:
-
在sqlfiddle.com上测试东西会很方便
标签: mysql sql postgresql group-by