sql--查詢一天內每小時的數據


一、建一張工具表只有hour一個字段 0-23

CREATE TABLE `date_tool` (
  `hour` int(3) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

插入0-23數字

二、以0-23的那個為主表左關聯,為Null設為0 ifnull(字段,0)

附sql

SELECT
dt. HOUR,
ifNULL(s.number, 0) AS number
FROM
date_tool dt
LEFT JOIN (
SELECT
HOUR (r.capture_time) AS HOUR,
count(*) AS number
FROM
md_capture_record r
WHERE
DATE_FORMAT(r.capture_time, '%y-%M-%d') = DATE_FORMAT(NOW(), '%y-%M-%d')
GROUP BY
HOUR
) s ON dt.`hour` = s. HOUR
ORDER BY
dt.`hour`

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM