@@ -569,27 +569,28 @@ u AS (
569
569
)
570
570
SELECT * FROM camps;
571
571
572
- -- name: get-campaign-view-counts
573
- -- raw: true
574
- -- %s = * or DISTINCT subscriber_id (prepared based on based on individual tracking=on/off). Prepared on boot.
572
+ -- name: get-campaign-analytics-unique-counts
575
573
WITH intval AS (
576
574
-- For intervals < a week, aggregate counts hourly, otherwise daily.
577
575
SELECT CASE WHEN (EXTRACT (EPOCH FROM ($3 ::TIMESTAMP - $2 ::TIMESTAMP )) / 86400 ) >= 7 THEN ' day' ELSE ' hour' END
578
- )
579
- SELECT campaign_id, COUNT (%s) AS " count" , DATE_TRUNC((SELECT * FROM intval), created_at) AS " timestamp"
580
- FROM campaign_views
576
+ ),
577
+ uniqIDs AS (
578
+ SELECT DISTINCT ON (subscriber_id) subscriber_id, campaign_id, DATE_TRUNC((SELECT * FROM intval), created_at) AS " timestamp"
579
+ FROM %s
581
580
WHERE campaign_id= ANY($1 ) AND created_at >= $2 AND created_at <= $3
582
- GROUP BY campaign_id, " timestamp" ORDER BY " timestamp" ASC ;
581
+ ORDER BY subscriber_id, " timestamp"
582
+ )
583
+ SELECT COUNT (* ) AS " count" , campaign_id, " timestamp"
584
+ FROM uniqIDs GROUP BY campaign_id, " timestamp" ;
583
585
584
- -- name: get-campaign-click -counts
586
+ -- name: get-campaign-analytics -counts
585
587
-- raw: true
586
- -- %s = * or DISTINCT subscriber_id (prepared based on based on individual tracking=on/off). Prepared on boot.
587
588
WITH intval AS (
588
589
-- For intervals < a week, aggregate counts hourly, otherwise daily.
589
590
SELECT CASE WHEN (EXTRACT (EPOCH FROM ($3 ::TIMESTAMP - $2 ::TIMESTAMP )) / 86400 ) >= 7 THEN ' day' ELSE ' hour' END
590
591
)
591
- SELECT campaign_id, COUNT (%s ) AS " count" , DATE_TRUNC((SELECT * FROM intval), created_at) AS " timestamp"
592
- FROM link_clicks
592
+ SELECT campaign_id, COUNT (* ) AS " count" , DATE_TRUNC((SELECT * FROM intval), created_at) AS " timestamp"
593
+ FROM %s
593
594
WHERE campaign_id= ANY($1 ) AND created_at >= $2 AND created_at <= $3
594
595
GROUP BY campaign_id, " timestamp" ORDER BY " timestamp" ASC ;
595
596
0 commit comments