You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle:如何对比当前小时与昨日、上周同日同时段的交易记录数

小时级交易数量统计SQL解决方案

原SQL实现了全天交易数统计,要改为当前小时、昨日同一小时、上周同一天同一小时的小时级统计,只需调整时间区间的截断精度为小时(HH),修改后的SQL如下:

SELECT
    SUM(CASE
        WHEN request_time >= TRUNC(SYSDATE, 'HH') 
             AND request_time <= SYSDATE THEN perf_count
        ELSE NULL
    END) AS "06AM_TODAY",
    SUM(CASE
        WHEN request_time >= TRUNC(SYSDATE, 'HH') - INTERVAL '1' DAY
             AND request_time < TRUNC(SYSDATE, 'HH') - INTERVAL '1' DAY + INTERVAL '1' HOUR THEN perf_count
        ELSE NULL
    END) AS "06AM_YESTERDAY",
    SUM(CASE
        WHEN request_time >= TRUNC(SYSDATE, 'HH') - INTERVAL '7' DAY
             AND request_time < TRUNC(SYSDATE, 'HH') - INTERVAL '7' DAY + INTERVAL '1' HOUR THEN perf_count
        ELSE NULL
    END) AS "06AM_LAST_WEEK_SAMEDAY"
FROM perf_fact
WHERE
    request_time >= TRUNC(SYSDATE, 'HH') - INTERVAL '7' DAY
    AND request_time <= SYSDATE;

关键调整说明

  • 用TRUNC(SYSDATE, 'HH')获取当前小时的起始时间,替代原有的全天截断逻辑TRUNC(SYSDATE)
  • 昨日同一小时:在当前小时起始时间基础上减1天,划定完整的1小时区间
  • 上周同一天同一小时:在当前小时起始时间基础上减7天,划定完整的1小时区间
  • 缩小WHERE条件的时间范围到上周同一小时至今,减少无效数据扫描,提升查询效率

期望输出

06AM_TODAY06AM_YESTERDAY06AM_LAST_WEEK_SAMEDAY
12345205685

内容的提问来源于stack exchange,提问作者Rizwan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 11:46:02