29 lines
929 B
SQL
29 lines
929 B
SQL
WITH counts AS (
|
|
SELECT
|
|
CAST(COALESCE(SUM(ulc1=1),0) AS SIGNED) AS ULC1,
|
|
CAST(COALESCE(SUM(ulc2=1),0) AS SIGNED) AS ULC2,
|
|
CAST(COALESCE(SUM(ulc3=1),0) AS SIGNED) AS ULC3,
|
|
CAST(COALESCE(SUM(ulc4=1),0) AS SIGNED) AS ULC4
|
|
FROM dumper_cycles
|
|
WHERE t_stamp BETWEEN :starttime AND :endtime
|
|
),
|
|
totals AS (
|
|
SELECT (ULC1+ULC2+ULC3+ULC4) AS Dump_Total FROM counts
|
|
),
|
|
labels AS (
|
|
SELECT 'ULC1' AS Dumper UNION ALL
|
|
SELECT 'ULC2' UNION ALL
|
|
SELECT 'ULC3' UNION ALL
|
|
SELECT 'ULC4'
|
|
)
|
|
SELECT
|
|
l.Dumper,
|
|
CASE WHEN l.Dumper='ULC1' THEN ROUND(c.ULC1 / t.Dump_Total * 100, 2) END AS ULC1,
|
|
CASE WHEN l.Dumper='ULC2' THEN ROUND(c.ULC2 / t.Dump_Total * 100, 2) END AS ULC2,
|
|
CASE WHEN l.Dumper='ULC3' THEN ROUND(c.ULC3 / t.Dump_Total * 100, 2) END AS ULC3,
|
|
CASE WHEN l.Dumper='ULC4' THEN ROUND(c.ULC4 / t.Dump_Total * 100, 2) END AS ULC4,
|
|
100 AS Dump_Count
|
|
FROM labels l
|
|
CROSS JOIN counts c
|
|
CROSS JOIN totals t;
|