29 lines
1.3 KiB
Plaintext
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;
|
|
|