BNA8/.resources/9491a59b624a7d3f2eb22d5dd4619a4054412b4fc6a683d4f8b32f80a497dea4

38 lines
1.1 KiB
Plaintext

WITH c AS (
-- CTE 1: Calculates the raw counts for the three remaining jam types
SELECT
-- New metric: Merge_MCM01
CAST(COALESCE(SUM(Merge_MCM01 = 1), 0) AS SIGNED) AS Merge_MCM01,
-- New metric: Transport_MCM01
CAST(COALESCE(SUM(Transport_MCM01 = 1), 0) AS SIGNED) AS Transport_MCM01,
-- Kept metric: Sorter_MCM02
CAST(COALESCE(SUM(Sorter_MCM02 = 1), 0) AS SIGNED) AS Sorter_MCM02
FROM jam_area
WHERE t_stamp BETWEEN :starttime AND :endtime
),
t AS (
-- CTE 2: Calculates the sum of all three counts
SELECT (Merge_MCM01 + Transport_MCM01 + Sorter_MCM02) AS Total
FROM c
)
-- 1. Result row for Merge_MCM01
SELECT 'Merge_MCM01' AS Area,
ROUND(c.Merge_MCM01 / NULLIF(t.Total, 0) * 100.0, 2) AS Percent,
c.Merge_MCM01 AS Count
FROM c CROSS JOIN t
UNION ALL
-- 2. Result row for Transport_MCM01
SELECT 'Transport_MCM01' AS Area,
ROUND(c.Transport_MCM01 / NULLIF(t.Total, 0) * 100.0, 2),
c.Transport_MCM01
FROM c CROSS JOIN t
UNION ALL
-- 3. Result row for Sorter_MCM02
SELECT 'Sorter_MCM02' AS Area,
ROUND(c.Sorter_MCM02 / NULLIF(t.Total, 0) * 100.0, 2),
c.Sorter_MCM02
FROM c CROSS JOIN t;