新手村常驻居民 2023-11-15 09:11 采纳率: 16.2%
浏览 36
已结题

oracle如何有一个月每天详细的数据,如何按半小时去统计


比如我数据库里面有

2023/1/1 12:23
2023/1/1 11:23
2023/1/1 11:40
2023/1/2 10:40
2023/1/2 10:25
2023/1/2 10:23
2023/1/2 10:24
2023/1/2 10:41

如何统计每天每半小时的统计量

  • 写回答

1条回答 默认 最新

  • 电网论文源程序 2023-11-15 09:29
    关注

    要实现每天每半小时的统计,你可以使用 Oracle SQL 中的一些函数和操作来实现。假设你的表名为 your_table,日期列为 date_column,那么你可以按照以下步骤操作:

    将日期按照半小时间隔进行舍入:

    SELECT TRUNC(date_column, 'HH24') + TRUNC((TO_NUMBER(TO_CHAR(date_column, 'MI')) / 30)) / 48 AS half_hour_interval
    FROM your_table;
    
    
    

    这个查询将会把日期按半小时间隔舍入,使得你可以得到类似 2023/1/1 12:00、2023/1/1 12:30 这样的结果。

    按照半小时间隔统计每天的数量:

    SELECT TRUNC(date_column, 'DD') AS day, 
           TRUNC(date_column, 'HH24') + TRUNC((TO_NUMBER(TO_CHAR(date_column, 'MI')) / 30)) / 48 AS half_hour_interval,
           COUNT(*) AS count_per_half_hour
    FROM your_table
    GROUP BY TRUNC(date_column, 'DD'), TRUNC(date_column, 'HH24') + TRUNC((TO_NUMBER(TO_CHAR(date_column, 'MI')) / 30)) / 48
    ORDER BY day, half_hour_interval;
    
    
    

    这个查询按天和半小时间隔分组,并统计每个组的数量。你可以根据需要进一步调整查询以适应你的数据结构和需求。

    请注意,这里的 TRUNC 函数用于截断日期,TO_NUMBER(TO_CHAR(date_column, 'MI')) / 30 用于获取分钟部分并将其转换为半小时的间隔。/ 48 用于将分钟转换为半小时,因为一个小时有两个半小时。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月25日
  • 创建了问题 11月15日

悬赏问题

  • ¥15 isolar-AB软件安装后打开出错
  • ¥15 如何让usb软件在电脑拔插无记录
  • ¥15 ecology9的待办推送外部系统
  • ¥15 Mplus跑出来的数据只有原数据的一半
  • ¥15 vue项目添加全局处理解决一些开发问题
  • ¥40 微信小程序前后端交互
  • ¥50 数据预处理(大量数据)
  • ¥15 多设备数据融合可视化显示控制
  • ¥15 公众号关键词自动回复超链接
  • ¥18 help me! 希望大家来看看 吉~