Queste query forniscono una ripartizione di quanti nuovi account utente sono stati creati nel periodo di tempo specificato, escludendo gli account in staging e non attivati. I totali sono suddivisi per numero di iscrizioni ogni settimana/mese/anno, un totale progressivo per il periodo selezionato e un numero totale fino ad oggi che include tutte le iscrizioni precedenti.
NB: Se un utente viene eliminato, i suoi dati non appaiono più nel database e quindi non saranno più inclusi nei risultati delle query. Ciò può portare a variazioni quando si confrontano esecuzioni recenti con quelle precedenti.
Iscrizioni Settimanali
-- [params]
-- date :start_date
-- date :end_date
WITH weekly_signups AS (
SELECT
to_char(date_trunc('week', created_at)::date,'YYYY-MM-DD') AS week,
COUNT(*) AS signups
FROM users
WHERE created_at::date BETWEEN :start_date::date AND :end_date::date
AND staged = false
AND active = true
GROUP BY week
),
all_to_date AS (
SELECT COUNT(*) AS previous
FROM users
WHERE created_at::date < :start_date
AND staged = false
AND active = true
)
SELECT
week AS "Inizio Settimana",
signups AS "Iscrizioni Settimanali",
SUM(signups::int) OVER (ORDER BY week) AS "Totale Progressivo",
(SUM(signups::int) OVER (ORDER BY week) + previous::int) AS "Totale Complessivo"
FROM weekly_signups, all_to_date
ORDER BY week ASC
| Inizio Settimana |
Iscrizioni Settimanali |
Totale Progressivo |
Totale Complessivo |
| 2023-07-31 |
98 |
98 |
45418 |
| 2023-08-07 |
141 |
239 |
45559 |
| 2023-08-14 |
129 |
368 |
45688 |
| 2023-08-21 |
126 |
494 |
45814 |
| 2023-08-28 |
138 |
632 |
45952 |
| 2023-09-04 |
53 |
685 |
46005 |
Iscrizioni Mensili
-- [params]
-- date :start_date
-- date :end_date
WITH monthly_signups AS (
SELECT
date_trunc('month', created_at)::date AS month,
to_char(date_trunc('month', created_at)::date,'Month YYYY') AS month_display,
COUNT(*) AS signups
FROM users
WHERE created_at::date BETWEEN :start_date::date AND :end_date::date
AND staged = false
AND active = true
GROUP BY month, month_display
),
all_to_date AS (
SELECT COUNT(*) AS previous
FROM users
WHERE created_at::date < :start_date
AND staged = false
AND active = true
)
SELECT
month_display AS "Mese",
signups AS "Iscrizioni Mensili",
SUM(signups::int) OVER (ORDER BY month) AS "Totale Progressivo",
(SUM(signups::int) OVER (ORDER BY month) + previous::int) AS "Totale Complessivo"
FROM monthly_signups, all_to_date
ORDER BY month
| Mese |
Iscrizioni Mensili |
Totale Progressivo |
Totale Complessivo |
| June 2023 |
596 |
596 |
44790 |
| July 2023 |
517 |
1113 |
45307 |
| August 2023 |
583 |
1696 |
45890 |
| September 2023 |
102 |
1798 |
46005 |
Iscrizioni Annuali
-- [params]
-- date :start_date
-- date :end_date
WITH yearly_signups AS (
SELECT
to_char(date_trunc('year', created_at)::date,'YYYY') AS year,
COUNT(*) AS signups
FROM users
WHERE created_at::date BETWEEN :start_date::date AND :end_date::date
AND staged = false
AND active = true
GROUP BY year
),
all_to_date AS (
SELECT COUNT(*) AS previous
FROM users
WHERE created_at::date < :start_date
AND staged = false
AND active = true
)
SELECT
year AS "Anno",
signups AS "Iscrizioni Annuali",
SUM(signups::int) OVER (ORDER BY year) AS "Totale Progressivo",
(SUM(signups::int) OVER (ORDER BY year) + previous::int) AS "Totale Complessivo"
FROM yearly_signups, all_to_date
ORDER BY year ASC
| Anno |
Iscrizioni Annuali |
Totale Progressivo |
Totale Complessivo |
| 2019 |
3590 |
3590 |
23135 |
| 2020 |
4258 |
7848 |
27393 |
| 2021 |
5908 |
13756 |
33301 |
| 2022 |
7889 |
21645 |
41190 |
| 2023 |
4815 |
26460 |
46005 |