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