26 lines
711 B
SQL
26 lines
711 B
SQL
|
-- name: GetCallStatsByTalkgroup :many
|
||
|
SELECT
|
||
|
COUNT(*),
|
||
|
c.system,
|
||
|
c.talkgroup,
|
||
|
date_trunc(@trunc_field, c.call_date)
|
||
|
FROM calls c
|
||
|
WHERE
|
||
|
CASE WHEN sqlc.narg('start')::TIMESTAMPTZ IS NOT NULL THEN
|
||
|
c.call_date >= @start ELSE TRUE END AND
|
||
|
CASE WHEN sqlc.narg('end')::TIMESTAMPTZ IS NOT NULL THEN
|
||
|
c.call_date <= sqlc.narg('end') ELSE TRUE END
|
||
|
GROUP BY 2, 3, 4;
|
||
|
|
||
|
-- name: GetCallStatsByInterval :many
|
||
|
SELECT
|
||
|
COUNT(*),
|
||
|
date_trunc(@trunc_field, c.call_date)::TIMESTAMPTZ date
|
||
|
FROM calls c
|
||
|
WHERE
|
||
|
CASE WHEN sqlc.narg('start')::TIMESTAMPTZ IS NOT NULL THEN
|
||
|
c.call_date >= @start ELSE TRUE END AND
|
||
|
CASE WHEN sqlc.narg('end')::TIMESTAMPTZ IS NOT NULL THEN
|
||
|
c.call_date <= sqlc.narg('end') ELSE TRUE END
|
||
|
GROUP BY 2;
|