Oracle 按照每小时分组,求每组数量


1. 需求:按照插入时间每小时分为一组,求出每组数量

数据库原始数据类似如图所示:

image

2. 尝试方法:

本以为可以直接使用 substr () 函数取出表示小时的字段,发现格式竟然变了:

image

所以想直接简单粗暴的使用 substr() 函数不可行。

3. 解决办法:

先将 inserttime 字段的日期变成 字符形式,将 SQL 语句改为:

SUBSTR(TO_CHAR(INSERTTIME,'yyyy-mm-dd hh24:mi:ss'),12,2)

上述代码可以取出表示小时的字符串部分,之后按照该小时部分做 group by 分组处理,使用 count () 函数即可得出每组数量。

示意图如下:

image

4. 举一反三

将 SQL 语句中最后的参数 2 改为 4 ,即可按照每隔十分钟分组,改成 5 即可按照每分钟进行分组:

SUBSTR(TO_CHAR(INSERTTIME,'yyyy-mm-dd hh24:mi:ss'),12,4)

以上,问题解决。

呼叫系统(Call Center)每天会有大量的电话进线数据,领导们要查看每天的进线数汇总,并且要求把 每天从上午8点到上午12点以及下午2点到晚上8点这两个时间段的数据汇总 “视”为当天的数据。 在oracle中使用having关键字来限制你的分组结果
前面我们介绍了,使用oracle的聚合函数和group by关键字来对结果集合进行分组,这时就有了一个新的问题,例如,我们针对聚合函数那一列需要找到满足条件的那些分组结果。我们可以使用where子句吗?不行,我们需要的是使用having关键字。
-----关于分组后字段拼接的问题来自:www.itpub.net  最近在论坛上,经常会看到关于分组后字段拼接的问题,大概是类似下列的情形:SQL> select no,q from test2 /NO Q---------- ------------------------------001 ...
使用Plsql+oracle client 连接 Oracle数据库
最近刚入职一家做Java开发的公司,公司数据库使用的是Oracle。以前做开发都是用MySQL的,公司里面的同事都在用的数据库工具plsql,口碑不错,也跟着他们来用。刚开始下载安装plsql,连接数据库的时候花费了不少时间呀,踩了很多坑。现在我把我的经验分享给没经验的小伙伴们。
大数据数据存储的数据库的关系型数据库之Oracle
在大数据领域,数据库是数据存储的一个重要组成部分。Oracle作为一种强大的关系型数据库,在企业级应用中得到了广泛应用。本文将对Oracle进行介绍。
1.关于ODAC的链接方式 ODAC 直接使用 Oracle 调用接口 (OCI). OCI 是一种允许应用程序开发人员使用第三方开发语言存取Oracle数据服务器的过程或函数以及控制所有的SQL语句执行状态的应用程序接口。 2.使用ODAC方式的优点 使用ODAC的Net选项而无需在客户机上安装Oracle客户端来连接到Oracle.在这种情况下,ODAC仅需要TCP/IP协议的支持,从而可以创建真正的、最小的数据库应用程序。 连接Oracle数据库失败(ORA-12514)故障排除
ORA-12514的故障是很多新手在连接Oracle数据库时经常遇到故障,它通常表示无法连接到数据库实例,这里姚远老师告诉大家如何排除这类故障。