xqm5260 2020-05-15 14:44 采纳率: 0%
浏览 557
已结题

oracle求个sql语句,根据当天每小时进行分组查询,如果没数据默认0。该怎么实现?

sql已准备好,把这两个sql拼成一个。以tool表小时数据为基准,只需要8-16每小时的数据。

如果不需要tool表也可以实现,那样最好,谢谢了

数据表“T_IVR_DETAIL_LOG”

SELECT
    TO_CHAR (CURRENTDT, 'hh24') AS HH,
    COUNT (*) num
FROM
    T_IVR_DETAIL_LOG
WHERE
    TO_CHAR (
        TRUNC (CURRENTDT),
        'yyyy-mm-dd'
    ) = (
        SELECT
            TO_CHAR (SYSDATE, 'yyyy-mm-dd')
        FROM
            DUAL
    )
GROUP BY
    TO_CHAR (CURRENTDT, 'hh24')
ORDER BY
    TO_CHAR (CURRENTDT, 'hh24')

图片说明

小时表

SELECT
    T.HH,
    T.NUM
FROM
    SYS_TOOL T
ORDER BY T.HH

图片说明

或者这样。我举个简单的例子。

图片说明

  • 写回答

3条回答 默认 最新

  • 早已胸有成竹 2020-05-15 15:06
    关注

    SELECT
    ST,HH,
    COUNT(TIDL.*)
    FROM
    SYS_TOOL ST
    LEFT JOIN T_IVR_DETAIL_LOG TIDL
    ON ST.HH = TO_CHAR(TIDL.CURRENTDT, 'HH24')
    GROUP BY ST.HH
    ORDER BY ST.HH;

    评论

报告相同问题?

悬赏问题

  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services