46 lines
1.0 KiB
Plaintext
46 lines
1.0 KiB
Plaintext
WITH INDUCTS AS (
|
|
(
|
|
SELECT
|
|
MIN(s04_timestamp) AS start_timestamp,
|
|
MAX(s04_timestamp) AS end_timestamp,
|
|
sorter,
|
|
induct,
|
|
COUNT(*) AS total
|
|
FROM package_history
|
|
WHERE s04_timestamp BETWEEN :startDate AND :endDate
|
|
GROUP BY sorter, induct
|
|
) UNION ALL (
|
|
SELECT
|
|
MIN(timestamp) AS start_timestamp,
|
|
MAX(timestamp) AS end_timestamp,
|
|
"AR" AS sorter,
|
|
lane_id AS induct,
|
|
SUM(count) AS total
|
|
FROM pe_history
|
|
WHERE timestamp BETWEEN :startDate AND :endDate
|
|
AND lane_id LIKE "UL%"
|
|
GROUP BY lane_id
|
|
)
|
|
ORDER BY sorter, induct
|
|
), SORTERS AS (
|
|
SELECT
|
|
sorter,
|
|
3600/TIMESTAMPDIFF(SECOND, :startDate, :endDate) AS pph_multiplier,
|
|
SUM(total) AS total
|
|
FROM INDUCTS
|
|
GROUP BY sorter
|
|
)
|
|
SELECT
|
|
I.start_timestamp,
|
|
I.end_timestamp,
|
|
S.sorter,
|
|
I.induct,
|
|
/* Counts: */
|
|
I.total AS total_count,
|
|
/* PPH: */
|
|
ROUND(I.total*S.pph_multiplier) AS total_pph,
|
|
/* Percents: */
|
|
ROUND(I.total/S.total, 4) AS 'total/sorter_percent'
|
|
FROM INDUCTS I, SORTERS S
|
|
WHERE I.sorter = S.sorter
|
|
ORDER BY sorter, induct; |