Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SELECT
- COALESCE(cs_sub.DATE, ups_sub.DATE, uas_sub.DATE) AS dy,
- COALESCE(cs_sub.group_id, ups_sub.group_id, uas_sub.group_id) AS group_id,
- SUM(cs_sub.views) views,
- SUM(cs_sub.clicks) clicks,
- SUM(cs_sub.real_spent) real_spent,
- SUM(cs_sub.install_count) install_count,
- SUM(ups_sub.payer_count) payer_count,
- SUM(ups_sub.payment_count) payment_count,
- SUM(ups_sub.payment_amount) payment_amount,
- SUM(ups_sub.c_payment_amount) c_payment_amount,
- SUM(uas_sub.unique_count) unique_count,
- SUM(uas_sub.c_unique_count) c_unique_count,
- SUM(uas_active_sub.COUNT) active_count
- FROM (
- SELECT
- cs.DATE,
- SUM(cs.views) views,
- SUM(cs.clicks) clicks,
- SUM(cs.real_spent) real_spent,
- SUM(cs.install_count) install_count,
- ca.group_id
- FROM campaign_statistic cs
- INNER JOIN campaign ca ON ca.id = cs.campaign_id AND ca.application_id = $applicationId
- WHERE cs.DATE >= '$startDate' AND cs.DATE <= '$endDate'
- GROUP BY cs.DATE, ca.group_id
- ) cs_sub
- LEFT JOIN (
- SELECT
- cs.DATE,
- SUM(uas.COUNT) COUNT,
- ca.group_id
- FROM user_action_statistic uas
- INNER JOIN campaign_statistic cs ON cs.id = uas.campaign_statistic_id AND cs.DATE >= '$startDate' AND cs.DATE <= '$endDate'
- INNER JOIN campaign ca ON ca.id = cs.campaign_id
- INNER JOIN application a ON
- ca.application_id = a.id AND
- ca.application_id = $applicationId AND
- uas.action_type_id = (SELECT id FROM action_type WHERE TYPE='active_user' AND application_id = $applicationId)
- GROUP BY cs.DATE, ca.group_id
- ) uas_active_sub ON cs_sub.DATE = uas_active_sub.DATE AND cs_sub.group_id = uas_active_sub.group_id
- FULL OUTER JOIN (
- SELECT
- us.DATE,
- SUM(us.payer_count) payer_count,
- SUM(us.payment_count) payment_count,
- SUM(us.payment_amount) payment_amount,
- SUM(us.payment_amount*(cs.DATE != us.DATE)::INT) c_payment_amount,
- ca.group_id
- FROM user_payment_statistic us
- INNER JOIN campaign_statistic cs ON cs.id = us.campaign_statistic_id
- INNER JOIN campaign ca ON ca.id = cs.campaign_id AND ca.application_id = $applicationId
- WHERE us.DATE >= '$startDate' AND us.DATE <= '$endDate'
- GROUP BY us.DATE, ca.group_id
- ) ups_sub ON cs_sub.DATE = ups_sub.DATE AND cs_sub.group_id = ups_sub.group_id
- FULL OUTER JOIN (
- SELECT
- uas.DATE,
- SUM(uas.unique_count) unique_count,
- SUM(uas.unique_count*(cs.DATE != uas.DATE)::INT) c_unique_count,
- ca.group_id
- FROM user_action_statistic uas
- INNER JOIN campaign_statistic cs ON cs.id = uas.campaign_statistic_id
- INNER JOIN campaign ca ON ca.id = cs.campaign_id
- INNER JOIN application a ON
- ca.application_id = a.id AND
- ca.application_id = $applicationId AND
- uas.action_type_id = a.dau_action_type_id
- WHERE uas.DATE >= '$startDate' AND uas.DATE <= '$endDate'
- GROUP BY uas.DATE, ca.group_id
- ) uas_sub ON COALESCE(cs_sub.DATE, ups_sub.DATE) = uas_sub.DATE AND COALESCE(cs_sub.group_id, ups_sub.group_id) = uas_sub.group_id
- GROUP BY
- COALESCE(cs_sub.DATE, ups_sub.DATE, uas_sub.DATE),
- COALESCE(cs_sub.group_id, ups_sub.group_id, uas_sub.group_id)
- ORDER BY dy
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement