最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL按小時查詢數據,沒有的補0

 更新時間:2020年12月18日 11:51:22   作者:Princar  
這篇文章主要介紹了MySQL按小時查詢數據,沒有的補0,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

需求背景

一個統(tǒng)計接口,前端需要返回兩個數組,一個是0-23的小時計數,一個是各小時對應的統(tǒng)計數。

思路 直接使用group by查詢要統(tǒng)計的表,當某個小時統(tǒng)計數為0時,會沒有該小時分組。思考了一下,需要建立輔助表,只有一列小時,再插入0-23共24個小時

CREATE TABLE hours_list (
 hour int NOT NULL PRIMARY KEY
)

先查小時表,再做連接需要查的表,即可將沒有統(tǒng)計數的小時填充上0。這里由于需要查多個表中,create_time在每個小時區(qū)間內、且SOURCE_ID等于查詢條件的統(tǒng)計之和,所以UNION ALL了多張表

	SELECT
			 t.HOUR,
			 sum(t.HOUR_COUNT) hourCount
			FROM
    (SELECT
     hs. HOUR AS HOUR,
     COUNT(cs.RECORD_ID) AS HOUR_COUNT
    FROM
     cbc_hours_list hs
    LEFT JOIN cbc_source_0002 cs ON HOUR (cs.create_time) = hs. HOUR
    AND cs.create_time > #{startTime}
    AND cs.create_time <= #{endTime}
    <#if sourceId?exists && sourceId !=''>
     AND SOURCE_ID = #{sourceId}
    </#if>
    GROUP BY
     hs. HOUR
    UNION ALL
    SELECT
     hs.HOUR AS HOUR,
     COUNT(cs.RECORD_ID) AS HOUR_COUNT
    FROM
     cbc_hours_list hs
    LEFT JOIN cbc_source_hs cs ON HOUR (cs.create_time) = hs. HOUR
    AND cs.create_time > #{startTime}
    AND cs.create_time <= #{endTime}
    <#if sourceId?exists && sourceId !=''>
     AND SOURCE_ID = #{sourceId}
    </#if>
    GROUP BY
     hs. HOUR
    UNION ALL
    SELECT
     hs.HOUR AS HOUR,
     COUNT(cs.RECORD_ID) AS HOUR_COUNT
    FROM
     cbc_hours_list hs
    LEFT JOIN cbc_source_kfyj cs ON HOUR (cs.create_time) = hs. HOUR
    AND cs.create_time > #{startTime}
    AND cs.create_time <= #{endTime}
    <#if sourceId?exists && sourceId !=''>
     AND SOURCE_ID = #{sourceId}
    </#if>
    GROUP BY
     hs. HOUR
    UNION ALL
    SELECT
     hs.HOUR AS HOUR,
     COUNT(cs.RECORD_ID) AS HOUR_COUNT
    FROM
     cbc_hours_list hs
    LEFT JOIN cbc_source_his_0002 cs ON HOUR (cs.create_time) = hs. HOUR
    AND cs.create_time > #{startTime}
    AND cs.create_time <= #{endTime}
    <#if sourceId?exists && sourceId !=''>
     AND SOURCE_ID = #{sourceId}
    </#if>
    GROUP BY
     hs. HOUR
    UNION ALL
    SELECT
     hs.HOUR AS HOUR,
     COUNT(cs.RECORD_ID) AS HOUR_COUNT
    FROM
     cbc_hours_list hs
    LEFT JOIN cbc_source_his_hs cs ON HOUR (cs.create_time) = hs. HOUR
    AND cs.create_time > #{startTime}
    AND cs.create_time <= #{endTime}
    <#if sourceId?exists && sourceId !=''>
     AND SOURCE_ID = #{sourceId}
    </#if>
    GROUP BY
     hs. HOUR
    UNION ALL
    SELECT
     hs.HOUR AS HOUR,
     COUNT(cs.RECORD_ID) AS HOUR_COUNT
    FROM
     cbc_hours_list hs
    LEFT JOIN cbc_source_his_kfyj cs ON HOUR (cs.create_time) = hs. HOUR
    AND cs.create_time > #{startTime}
    AND cs.create_time <= #{endTime}
    <#if sourceId?exists && sourceId !=''>
     AND SOURCE_ID = #{sourceId}
    </#if>
    GROUP BY
     hs. HOUR) t
   GROUP BY
    t.hour

效果

統(tǒng)計數為0的小時也可以查出來了。

在這里插入圖片描述

到此這篇關于MySQL按小時查詢數據,沒有的補0的文章就介紹到這了,更多相關MySQL按小時查詢數據內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • MySQL limit分頁大偏移量慢的原因及優(yōu)化方案

    MySQL limit分頁大偏移量慢的原因及優(yōu)化方案

    這篇文章主要介紹了MySQL limit分頁大偏移量慢的原因及優(yōu)化方案,幫助大家更好的理解和使用MySQL數據庫,感興趣的朋友可以了解下
    2020-11-11
  • DBeaver如何將mysql表結構以表格形式導出

    DBeaver如何將mysql表結構以表格形式導出

    DBeaver是一款多功能數據庫工具,支持包括MySQL在內的多種數據庫,本文介紹如何使用DBeaver將MySQL的表結構以表格形式導出,為數據庫管理和文檔整理提供便利,這種方法簡潔有效,適合需要文檔化數據庫結構的開發(fā)者和數據庫管理員
    2024-10-10
  • MYSQL清空表和截斷表問題

    MYSQL清空表和截斷表問題

    這篇文章主要介紹了MYSQL清空表和截斷表問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 8種手動和自動備份MySQL數據庫的方法

    8種手動和自動備份MySQL數據庫的方法

    作為流行的開源數據庫管理系統(tǒng),MySQL的使用者眾多,為了維護數據安全性,數據備份是必不可少的。本文就為大家介紹幾種適用于企業(yè)的數據備份方法,需要的朋友可以參考下
    2018-10-10
  • mysql忘記root密碼的解決辦法(針對不同mysql版本)

    mysql忘記root密碼的解決辦法(針對不同mysql版本)

    這篇文章主要介紹了mysql忘記root密碼的解決辦法(針對不同mysql版本),文章通過代碼示例和圖文結合的方式給大家講解的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-06-06
  • 詳解MySQL拼接函數CONCAT的使用心得

    詳解MySQL拼接函數CONCAT的使用心得

    這篇文章主要介紹了詳解MySQL拼接函數CONCAT的使用心得,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • 數據庫中GROUP?BY語句詳解、示例、注意事項

    數據庫中GROUP?BY語句詳解、示例、注意事項

    在Oracle數據庫中GROUP?BY是用于對結果集進行分組的一個關鍵字,這篇文章主要給大家介紹了關于數據庫中GROUP?BY語句詳解、示例、注意事項的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-06-06
  • MySQL如何查找樹形結構中某個節(jié)點及其子節(jié)點

    MySQL如何查找樹形結構中某個節(jié)點及其子節(jié)點

    這篇文章主要介紹了MySQL如何查找樹形結構中某個節(jié)點及其子節(jié)點問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • MySQL?bit類型增加索引后查詢結果不正確案例解析

    MySQL?bit類型增加索引后查詢結果不正確案例解析

    這篇文章主要介紹了MySQL?bit類型增加索引后查詢結果不正確案例淺析,我們先創(chuàng)建表student_attend,初始化一些數據,這篇文章的測試環(huán)境為MySQL 8.0.35社區(qū)版,具體內容介紹跟隨小編一起學習吧
    2024-06-06
  • MySQL多列IN查詢的實現(xiàn)

    MySQL多列IN查詢的實現(xiàn)

    多列 IN 查詢是一種強大的篩選工具,它允許通過多字段組合快速過濾數據,本文主要介紹了MySQL 多列 IN 查詢的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2025-03-03

最新評論

北宁市| 宝兴县| 屯昌县| 南京市| 始兴县| 东安县| 宜城市| 开平市| 永州市| 邓州市| 虎林市| 黑河市| 翁牛特旗| 抚松县| 锡林郭勒盟| 汉中市| 微博| 武邑县| 富民县| 眉山市| 忻城县| 张家港市| 崇州市| 东兰县| 缙云县| 锡林浩特市| 策勒县| 忻城县| 秦皇岛市| 崇州市| 司法| 徐闻县| 平定县| 汝阳县| 札达县| 丰都县| 建平县| 陆川县| 丰宁| 凤山县| 融水|