stats.sql 840 B

12345678910111213141516171819202122232425
  1. -- WITH l AS (
  2. -- SELECT type, COUNT(id) AS count FROM lists GROUP BY type
  3. -- ),
  4. -- subs AS (
  5. -- SELECT status, COUNT(id) AS count FROM subscribers GROUP by status
  6. -- ),
  7. -- subscrips AS (
  8. -- SELECT status, COUNT(subscriber_id) AS count FROM subscriber_lists GROUP by status
  9. -- ),
  10. -- orphans AS (
  11. -- SELECT COUNT(id) AS count FROM subscribers LEFT JOIN subscriber_lists ON (subscribers.id = subscriber_lists.subscriber_id)
  12. -- WHERE subscriber_lists.subscriber_id IS NULL
  13. -- ),
  14. -- camps AS (
  15. -- SELECT status, COUNT(id) AS count FROM campaigns GROUP by status
  16. -- )
  17. -- SELECT t3.*, t5.* FROM l t1
  18. -- LEFT JOIN LATERAL (
  19. -- SELECT JSON_AGG(t2.*) AS lists
  20. -- FROM (SELECT * FROM l) t2
  21. -- ) t3 ON TRUE
  22. -- LEFT JOIN LATERAL (
  23. -- SELECT JSON_AGG(t4.*) AS subs
  24. -- FROM (SELECT * FROM subs) t4
  25. -- ) t5 ON TRUE;