91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在MySQL數據庫中實現時間查詢數據

發布時間:2020-12-19 14:22:08 來源:億速云 閱讀:214 作者:Leah 欄目:開發技術

這期內容當中小編將會給大家帶來有關怎么在MySQL數據庫中實現時間查詢數據,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

需求背景

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

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

CREATE TABLE hours_list (
 hour int NOT NULL PRIMARY KEY
)

先查小時表,再做連接需要查的表,即可將沒有統計數的小時填充上0。這里由于需要查多個表中,create_time在每個小時區間內、且SOURCE_ID等于查詢條件的統計之和,所以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

效果

統計數為0的小時也可以查出來了。

怎么在MySQL數據庫中實現時間查詢數據

上述就是小編為大家分享的怎么在MySQL數據庫中實現時間查詢數據了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临西县| 修文县| 涞水县| 泌阳县| 华容县| 临海市| 蛟河市| 芦溪县| 甘洛县| 吉安市| 印江| 湘阴县| 沧州市| 江油市| 黑龙江省| 合山市| 商洛市| 逊克县| 霍山县| 潼南县| 洛扎县| 平和县| 西藏| 定远县| 铜梁县| 巴东县| 隆回县| 龙游县| 白山市| 双江| 大竹县| 新化县| 黑山县| 潞西市| 五指山市| 内江市| 广平县| 津市市| 天台县| 上林县| 隆回县|