易生活网
    • 网站首页
    • 公司简介
      公司简介
      企业文化
    • 产品展示
    • 新闻动态
      公司新闻
      行业新闻
    • 成功案例
      成功案例
    • 客户服务
      售后服务
      技术支持
    • 人才招聘
    • 联系我们
      联系我们
      在线留言

    新闻动态
    Site navigation

    公司新闻
    行业新闻

    联系方式Contact


    地 址:北京市平谷区66号
    电 话:18969242624
    网址:dsesh.com
    邮 箱:8993717@qq.com

    网站首页 > 新闻动态
    新闻动态Welcome to visit our

    MySQL按小时查询数据,没有的补0

    分享到:
      来源:易生活网  更新时间:2026-10-01 12:05:50  【打印此页】  【关闭】

    这篇文章主要(yao)介绍了MySQL按小时(shi)查询数据,查询没有的补0,本文通过实例代码给大家介绍的非常详细,对大家的数据学习或工作具有一定的参考借鉴价值(zhi),需要的查询朋友可以参考下

    需(xu)求背景

    MySQL按小时查询数据,没有的补0

    一个统计接口,前端需要返回两(liang)个数组,数据一个是(shi)查询0-23的小时计(ji)数,一个是数据各小时对应的统计数。

    MySQL按小时查询数据,没有的补0

    思路 直接使用group by查询要统(tong)计的查询表(biao),当某个小时(shi)统计数为0时,数(shu)据会没有该小时分组(zu)。查询思考了一下,数据需要建立辅助表,查询只有一列小时,数据再插入0-23共24个小时

    MySQL按小时查询数据,没有的补0

    CREATE TABLE hours_list (
    hour int NOT NULL PRIMARY KEY
    )

    先查小时表,查询再做连接(jie)需要查的数据(ju)表,即可将没(mei)有统计数(shu)的查询小时填充上0。这里由于需要(yao)查多个表中,create_time在每个小时(shi)区间内、且SOURCE_ID等于查询条件的统计之和(he),所以UNION ALL了多(duo)张表

    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

    效果

    统计数为0的小时也可以查出来了。

    到此这篇关于MySQL按小时查询数据,没有的补0的文章就介绍到这了,更多相关MySQL按小时查询数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文(wen)章希望大家以后多多支持脚本之家!

    来源:脚本之家

    链接:https://www.jb51.net/article/202439.htm

    上一篇:高频词688_高频词搜索引擎是什么
    下一篇:高端网站定制开发_网站定制代码多少钱一个

    相关文章

    • 高级搜索引擎_搜索引擎_38
    • 如何提高网站排名?百度SEO优化排名全攻略!
    • 如何提高网站排名(6个技巧帮你优化SEO)
    • 如何提高网站收录关键词排名?有哪些技巧?
    • 高级网站开发学习文案_1
    • 如何提高网站搜索排名?(提高网站搜索排名的4大原则)
    • 如何提高网站推广效果,网站推广文章的重要性
    • 如何提高网站排名的方法(网站排名seo教程优化推广)
    • 黄冈网站推广软件_黄石网络推广优化技巧
    • 如何提高网站收录率(网站SEO优化收录情况分析)

    友情链接:

    • 西峰贝木网络科技有限公司
    • 杭州干发网络科技有限公司
    • 嘉兴志久网络科技有限公司
    • 廊坊迎名网络科技有限公司
    • 麻城苏益网络科技有限公司
    • 洮南顿双网络科技有限公司
    • 湘潭贸金网络科技有限公司
    公司简介|产品展示|新闻动态|成功案例|客户服务|人才招聘|联系我们

    Copyright © 2026 Powered by 易生活网   sitemap

    0.3639s , 49727.328125 kb