27 lines
749 B
SQL
27 lines
749 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
|
|
ORDER BY 4 DESC;
|
|
|
|
-- 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 date
|
|
ORDER BY date DESC;
|