BNA8/.resources/21ed7eedc51ac4acd040fe603247ce67131558f29fdc3f7b912be891eb917c0f

29 lines
1.3 KiB
Plaintext

-- Hourly Scanner Graph Query (Rate per hour)
-- Shows every hour in detail for graphing as rates (items per hour)
SELECT
CONCAT('H', TIMESTAMPDIFF(HOUR,
DATE_FORMAT(Startstamp, "%Y-%m-%d %H:00:00"),
DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00")
)) AS Hour,
ROUND(COALESCE(Total, 0) * 3600 / GREATEST(TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 1), 2) AS Total,
ROUND(COALESCE(GoodRead, 0) * 3600 / GREATEST(TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 1), 2) AS GoodRead,
ROUND(COALESCE(NoRead, 0) * 3600 / GREATEST(TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 1), 2) AS NoRead,
ROUND(COALESCE(MultiRead, 0) * 3600 / GREATEST(TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 1), 2) AS MultiRead,
ROUND(COALESCE(NoCode, 0) * 3600 / GREATEST(TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 1), 2) AS NoCode
FROM (
SELECT
MIN(t_stamp) AS Startstamp,
MAX(t_stamp) AS Endtstamp,
COUNT(*) AS Total,
SUM(DivertStatus NOT IN (8, 9, 10)) AS GoodRead,
SUM(DivertStatus = 8) AS NoRead,
SUM(DivertStatus = 10) AS MultiRead,
SUM(DivertStatus = 9) AS NoCode
FROM alltable
WHERE t_stamp BETWEEN :starttime AND :endtime
GROUP BY DATE(t_stamp), HOUR(t_stamp)
) counts
ORDER BY Startstamp ASC;