Updated Dumper cycles statistics
This commit is contained in:
parent
6c7e7b860a
commit
2d44718513
@ -1,27 +1,18 @@
|
|||||||
SELECT
|
SELECT
|
||||||
CONCAT(DATE(:starttime), ' ', HOUR(:starttime), ':', LPAD(MINUTE(:starttime), 2, '0')) AS StartTimestamp,
|
DATE_FORMAT(:starttime, '%Y-%m-%d %H:%i') AS StartTimestamp,
|
||||||
CONCAT(DATE(:endtime), ' ', HOUR(:endtime), ':', LPAD(MINUTE(:endtime), 2, '0')) AS EndTimestamp,
|
DATE_FORMAT(:endtime, '%Y-%m-%d %H:%i') AS EndTimestamp,
|
||||||
COALESCE(SUM(dumper_cycles.ulc1 = 1), 0) + COALESCE(SUM(dumper_cycles.ulc2 = 1), 0) + COALESCE(SUM(dumper_cycles.ulc3 = 1), 0) + COALESCE(SUM(dumper_cycles.ulc4 = 1), 0) AS Total,
|
COALESCE(c.U1,0) + COALESCE(c.U2,0) + COALESCE(c.U3,0) + COALESCE(c.U4,0) AS Total,
|
||||||
COALESCE(SUM(dumper_cycles.ulc1 = 1), 0) AS ULC1,
|
COALESCE(c.U1,0) AS ULC1,
|
||||||
COALESCE(SUM(dumper_cycles.ulc2 = 1), 0) AS ULC2,
|
COALESCE(c.U2,0) AS ULC2,
|
||||||
COALESCE(SUM(dumper_cycles.ulc3 = 1), 0) AS ULC3,
|
COALESCE(c.U3,0) AS ULC3,
|
||||||
COALESCE(SUM(dumper_cycles.ulc4 = 1), 0) AS ULC4
|
COALESCE(c.U4,0) AS ULC4
|
||||||
FROM dumper_cycles
|
FROM (SELECT 1) AS p
|
||||||
WHERE dumper_cycles.t_stamp BETWEEN :starttime AND :endtime
|
LEFT JOIN (
|
||||||
|
SELECT
|
||||||
UNION ALL
|
SUM(ulc1 = 1) AS U1,
|
||||||
|
SUM(ulc2 = 1) AS U2,
|
||||||
-- Default row with zeros when no dumper cycles exist
|
SUM(ulc3 = 1) AS U3,
|
||||||
SELECT
|
SUM(ulc4 = 1) AS U4
|
||||||
CONCAT(DATE(:starttime), ' ', HOUR(:starttime), ':', LPAD(MINUTE(:starttime), 2, '0')) AS StartTimestamp,
|
FROM dumper_cycles
|
||||||
CONCAT(DATE(:endtime), ' ', HOUR(:endtime), ':', LPAD(MINUTE(:endtime), 2, '0')) AS EndTimestamp,
|
WHERE t_stamp BETWEEN :starttime AND :endtime
|
||||||
0 AS Total,
|
) AS c ON 1=1;
|
||||||
0 AS ULC1,
|
|
||||||
0 AS ULC2,
|
|
||||||
0 AS ULC3,
|
|
||||||
0 AS ULC4
|
|
||||||
|
|
||||||
WHERE NOT EXISTS (
|
|
||||||
SELECT 1 FROM dumper_cycles
|
|
||||||
WHERE dumper_cycles.t_stamp BETWEEN :starttime AND :endtime
|
|
||||||
);
|
|
||||||
|
|||||||
@ -1,27 +1,41 @@
|
|||||||
SELECT
|
SELECT
|
||||||
CONCAT(DATE(:starttime), ' ', HOUR(:starttime), ':', LPAD(MINUTE(:starttime), 2, '0')) AS StartTimestamp,
|
DATE_FORMAT(:starttime, '%Y-%m-%d %H:%i') AS StartTimestamp,
|
||||||
CONCAT(DATE(:endtime), ' ', HOUR(:endtime), ':', LPAD(MINUTE(:endtime), 2, '0')) AS EndTimestamp,
|
DATE_FORMAT(:endtime, '%Y-%m-%d %H:%i') AS EndTimestamp,
|
||||||
COALESCE(SUM(dumper_cycles.ulc1 = 1), 0) + COALESCE(SUM(dumper_cycles.ulc2 = 1), 0) + COALESCE(SUM(dumper_cycles.ulc3 = 1), 0) + COALESCE(SUM(dumper_cycles.ulc4 = 1), 0) AS Total,
|
|
||||||
CONCAT(ROUND(COALESCE(SUM(dumper_cycles.ulc1 = 1), 0) / NULLIF(COALESCE(SUM(dumper_cycles.ulc1 = 1), 0) + COALESCE(SUM(dumper_cycles.ulc2 = 1), 0) + COALESCE(SUM(dumper_cycles.ulc3 = 1), 0) + COALESCE(SUM(dumper_cycles.ulc4 = 1), 0), 0) * 100, 2), '%') AS ULC1,
|
|
||||||
CONCAT(ROUND(COALESCE(SUM(dumper_cycles.ulc2 = 1), 0) / NULLIF(COALESCE(SUM(dumper_cycles.ulc1 = 1), 0) + COALESCE(SUM(dumper_cycles.ulc2 = 1), 0) + COALESCE(SUM(dumper_cycles.ulc3 = 1), 0) + COALESCE(SUM(dumper_cycles.ulc4 = 1), 0), 0) * 100, 2), '%') AS ULC2,
|
|
||||||
CONCAT(ROUND(COALESCE(SUM(dumper_cycles.ulc3 = 1), 0) / NULLIF(COALESCE(SUM(dumper_cycles.ulc1 = 1), 0) + COALESCE(SUM(dumper_cycles.ulc2 = 1), 0) + COALESCE(SUM(dumper_cycles.ulc3 = 1), 0) + COALESCE(SUM(dumper_cycles.ulc4 = 1), 0), 0) * 100, 2), '%') AS ULC3,
|
|
||||||
CONCAT(ROUND(COALESCE(SUM(dumper_cycles.ulc4 = 1), 0) / NULLIF(COALESCE(SUM(dumper_cycles.ulc1 = 1), 0) + COALESCE(SUM(dumper_cycles.ulc2 = 1), 0) + COALESCE(SUM(dumper_cycles.ulc3 = 1), 0) + COALESCE(SUM(dumper_cycles.ulc4 = 1), 0), 0) * 100, 2), '%') AS ULC4
|
|
||||||
FROM dumper_cycles
|
|
||||||
WHERE dumper_cycles.t_stamp BETWEEN :starttime AND :endtime
|
|
||||||
|
|
||||||
UNION ALL
|
-- totals
|
||||||
|
COALESCE(c.U1,0) + COALESCE(c.U2,0) + COALESCE(c.U3,0) + COALESCE(c.U4,0) AS Total,
|
||||||
|
|
||||||
-- Default row with zeros when no dumper cycles exist
|
-- percentages (string with %; 0% when total = 0)
|
||||||
SELECT
|
CASE
|
||||||
CONCAT(DATE(:starttime), ' ', HOUR(:starttime), ':', LPAD(MINUTE(:starttime), 2, '0')) AS StartTimestamp,
|
WHEN (COALESCE(c.U1,0) + COALESCE(c.U2,0) + COALESCE(c.U3,0) + COALESCE(c.U4,0)) = 0
|
||||||
CONCAT(DATE(:endtime), ' ', HOUR(:endtime), ':', LPAD(MINUTE(:endtime), 2, '0')) AS EndTimestamp,
|
THEN '0%'
|
||||||
0 AS Total,
|
ELSE CONCAT(ROUND(COALESCE(c.U1,0) / (COALESCE(c.U1,0)+COALESCE(c.U2,0)+COALESCE(c.U3,0)+COALESCE(c.U4,0)) * 100, 2), '%')
|
||||||
'0%' AS ULC1,
|
END AS ULC1,
|
||||||
'0%' AS ULC2,
|
|
||||||
'0%' AS ULC3,
|
|
||||||
'0%' AS ULC4
|
|
||||||
|
|
||||||
WHERE NOT EXISTS (
|
CASE
|
||||||
SELECT 1 FROM dumper_cycles
|
WHEN (COALESCE(c.U1,0) + COALESCE(c.U2,0) + COALESCE(c.U3,0) + COALESCE(c.U4,0)) = 0
|
||||||
WHERE dumper_cycles.t_stamp BETWEEN :starttime AND :endtime
|
THEN '0%'
|
||||||
);
|
ELSE CONCAT(ROUND(COALESCE(c.U2,0) / (COALESCE(c.U1,0)+COALESCE(c.U2,0)+COALESCE(c.U3,0)+COALESCE(c.U4,0)) * 100, 2), '%')
|
||||||
|
END AS ULC2,
|
||||||
|
|
||||||
|
CASE
|
||||||
|
WHEN (COALESCE(c.U1,0) + COALESCE(c.U2,0) + COALESCE(c.U3,0) + COALESCE(c.U4,0)) = 0
|
||||||
|
THEN '0%'
|
||||||
|
ELSE CONCAT(ROUND(COALESCE(c.U3,0) / (COALESCE(c.U1,0)+COALESCE(c.U2,0)+COALESCE(c.U3,0)+COALESCE(c.U4,0)) * 100, 2), '%')
|
||||||
|
END AS ULC3,
|
||||||
|
|
||||||
|
CASE
|
||||||
|
WHEN (COALESCE(c.U1,0) + COALESCE(c.U2,0) + COALESCE(c.U3,0) + COALESCE(c.U4,0)) = 0
|
||||||
|
THEN '0%'
|
||||||
|
ELSE CONCAT(ROUND(COALESCE(c.U4,0) / (COALESCE(c.U1,0)+COALESCE(c.U2,0)+COALESCE(c.U3,0)+COALESCE(c.U4,0)) * 100, 2), '%')
|
||||||
|
END AS ULC4
|
||||||
|
|
||||||
|
FROM (
|
||||||
|
SELECT
|
||||||
|
SUM(ulc1 = 1) AS U1,
|
||||||
|
SUM(ulc2 = 1) AS U2,
|
||||||
|
SUM(ulc3 = 1) AS U3,
|
||||||
|
SUM(ulc4 = 1) AS U4
|
||||||
|
FROM dumper_cycles
|
||||||
|
WHERE t_stamp BETWEEN :starttime AND :endtime
|
||||||
|
) AS c;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user