1、按年

select to_char(record_date,'yyyy'), sum(col_8) as total_money
from table_name
where group by to_char(record_date,'yyyy')

2、按月

select to_char(record_date,'yyyy-mm'), sum(col_8) as total_money
from table_name
where group by to_char(record_date,'yyyy-mm')

3、按季

select to_char(record_date,'yyyy-Q'), sum(col_8) as total_money
from table_name
where group by to_char(record_date,'yyyy-Q')

4、按周

select to_char(record_date,'yyyy-IW'), sum(col_8) as total_money
from table_name
where group by to_char(record_date,'yyyy-IW')

5、按小时

select to_char(record_date,'yyyy-mm-dd hh24'), sum(col_8) as total_money
from table_name
where group by to_char(record_date,'yyyy-mm-dd hh24')

6、按分钟

select to_char(record_date,'yyyy-mm-dd hh24:mi'), sum(col_8) as total_money
from table_name
where group by to_char(record_date,'yyyy-mm-dd hh24:mi') SELECT trunc(sysdate-1) + (ROWNUM - 1) / 24 / 60 AS STAT_TIME
FROM DUAL d
CONNECT BY ROWNUM <= 1440 +(trunc(sysdate, 'MI') - (trunc(sysdate))) * 24 * 60

7、按5分钟

SELECT trunc(sysdate) + (ROWNUM - 1) / 24/12 AS STAT_TIME
FROM DUAL
CONNECT BY ROWNUM <=(trunc(sysdate, 'MI') - (trunc(sysdate))) * 24 * 12
按5分钟统计,中间没数据的时间会缺少
select to_char(j.record_date,'yyyymmdd') as st_date
, sum(j.col_8*j.col_9*j.col_10) as mer_value
, to_char(j.record_date,'hh24') as STAT_HOUR
, floor(to_char(j.record_date,'mi')/5) as min_flag
, '昨日' as report_name
from c , j
where c.col_4 = j.col_4 and c.col_5 = j.col_5 and c.col_6 = j.col_6
and j.actiontype = 217
and j.record_date between trunc(sysdate-1) and trunc(sysdate)
group by to_char(j.record_date,'yyyymmdd'), to_char(j.record_date,'hh24'), floor(to_char(j.record_date,'mi')/5)
ORDER BY st_date, STAT_HOUR, min_flag
select STAT_TIME tdate,
'test' app_id,
goods_type, --c.col_4 as
goods_id, --c.col_5 as
goods_currency_type --c.col_6 as
from
(
SELECT trunc(sysdate-1) + (ROWNUM - 1) / 24 / 12 AS STAT_TIME
FROM DUAL d
CONNECT BY ROWNUM <= 288 +(trunc(sysdate, 'MI') - (trunc(sysdate))) * 24 * 12 + 1
),
(
select
t.goods_type,t.goods_id,t.goods_currency_type
from mid_minutes t
where tdate >= trunc(sysdate) -1
and app_id = 'test'
group by t.goods_type,t.goods_id,t.goods_currency_type
) c

8、按十分钟

SELECT trunc(sysdate) + (ROWNUM - 1) / 24/6 AS STAT_TIME
FROM DUAL
CONNECT BY ROWNUM <=(trunc(sysdate, 'MI') - (trunc(sysdate))) * 24 * 6

按5分钟统计,把时间转换成分钟准点函数

create or replace function trunc_minute(v_date date) return date as

begin
return to_number(trunc(to_char(v_date, 'mi')/5))*5/(24*60) + trunc(v_date, 'hh24');
end;

9、按半小时

select to_date(to_char(j.tdate, 'yyyy-mm-dd hh24:') || case
when to_char(j.tdate, 'mi') < '30' then
'00'
else
'30'
end,
'yyyy-mm-dd hh24:mi') as tdate,
j.goods_id,
sum(j.buy_count) as buy_count,
sum(j.total_price) as total_price
from tmp_goods_mis j
where j.tdate >= trunc(sysdate) - 1
group by j.goods_id
to_char(j.tdate, 'yyyy-mm-dd hh24:') || case
when to_char(j.tdate, 'mi') < '30' then
'00'
else
'30'
end

来源:https://www.cnblogs.com/linn/p/4186810.html

Oracle 按不同时间分组统计的更多相关文章

  1. Oracle按不同时间分组统计

    Oracle按不同时间分组统计 Oracle按不同时间分组统计的sql 如下表table1: 日期(exportDate) 数量(amount) -------------- ----------- ...

  2. ORACLE的分组统计之ROLLUP(一)

    Oracle 9i以后,扩展了group by 的功能,能够满足大部分多维数据的分析统计功能,主要表现: 1. rollup,cube,grouping sets 扩展group by字句提供了丰富的 ...

  3. Oracle Time Model Statistics(时间模型统计)

    Oracle数据库从10g開始,启用以时间模型统计为主.命中率为辅等性能度量指标.基于时间模型统计,主要是基于操作类型測量在数据库中花费的时间的统计信息.最重要的时间模型统计是数据库时间.或DB时间. ...

  4. Oracle数据库从入门到精通-分组统计查询

    视频课程:李兴华 Oracle从入门到精通 视频课程学习者:阳光罗诺 视频来源:51CTO学院 整体内容: 统计函数的使用 分组统计查询的实现 对分组的数据过滤 统计函数 在之前我们就学习过一个COU ...

  5. 010.简单查询、分组统计查询、多表连接查询(sql实例)

    -------------------------------------day3------------ --添加多行数据:------INSERT [INTO] 表名 [(列的列表)] --SEL ...

  6. Dev用于界面按选中列进行分组统计数据源(实用技巧)

    如果有用U8的可以明白这个功能就是模仿他的统计功能.我不过是把他造成通用的与适应于DEV的. (效率为6000条数据分组统计时间为3秒左右分组列过多5秒.1000条以下0.几秒,500条下0.00几秒 ...

  7. DataTable、List使用groupby进行分组和分组统计;List、DataTable查询筛选方法

    DataTable分组统计: .用两层循环计算,前提条件是数据已经按分组的列排好序的. DataTable dt = new DataTable(); dt.Columns.AddRange(new ...

  8. Mysql 根据时间戳按年月日分组统计

    Mysql 根据时间戳按年月日分组统计create_time时间格式SELECT DATE_FORMAT(create_time,'%Y%u') weeks,COUNT(id) COUNT FROM ...

  9. Mysql中较为复杂的分组统计去重复值

    这是我的代码: 前提是做了一个view:att_sumbase 首先分开统计每天的中午.下午饭点人数,这时需要分别去除中午和下午重复打卡的人.用了记录集的交,嵌套select的知识. 注意不能直接使用 ...

随机推荐

  1. 使用Javax.mail 发送邮件

    使用Javax.mail 发送邮件 详细说明都在代码中: 引入依赖  <!--sun定义的一套接收.发送电子邮件的API-->    <dependency>      < ...

  2. 深度学习论文翻译解析(十三):Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

    论文标题:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks 标题翻译:基于区域提议(Regi ...

  3. 干货:用好这13款VSCode插件,工作效率提升10倍

    文章每周持续更新,原创不易,「三连」让更多人看到是对我最大的肯定.可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一般比博客早更新一到两篇) 大家好我是lemon, 马上进入我们今天的主题吧. 又 ...

  4. C#知识点:ref和Out关键字浅谈

    首先我们要知道ref和out在C#里面是什么? 答:它们俩是C#里面的关键字. 他们俩是干啥的呢? 答:他们俩是方法参数的修饰符号,一但使用,方法定义和方法都用都要使用这个关键字,这一点是死规定. 好 ...

  5. YOLOv4: Darknet 如何于 Docker 编译,及训练 COCO 子集

    YOLO 算法是非常著名的目标检测算法.从其全称 You Only Look Once: Unified, Real-Time Object Detection ,可以看出它的特性: Look Onc ...

  6. spring boot环境配置以及开发工具选择(Spring一)

    首先安装java jdk jdk的安装参考:https://blog.csdn.net/zhys0902/article/details/79499329配置效果如下: 接下来是maven的相关配置 ...

  7. Git使用教程与基本原理和Sourcetree基本使用探微

    什么是GIT Git是一个强调速度的分布式版本控制软件和源代码管理系统(SCM,source code management).Git最初是由Linus Torvalds为内核开发而设计的管理软件.自 ...

  8. 内存管理初始化源码3:bootmem

    start_kernel ——> setup_arch ——> arch_mem_init ——> bootmem_init ——> init_bootmem_node: 此时 ...

  9. Spring Boot 如何使用拦截器、过滤器、监听器?

    过滤器 过滤器的英文名称为 Filter, 是 Servlet 技术中最实用的技术. 如同它的名字一样,过滤器是处于客户端和服务器资源文件之间的一道过滤网,帮助我们过滤掉一些不符合要求的请求,通常用作 ...

  10. 利用adb查看手机设备ip和连接手机的两种方式

    电脑安装adb(查看菜鸟adb教程) [cmd]->输入adb devices (设置了path,否则需要 ./路径/adb devices)如图: 查看ip两种方法(可能有更多,目前我还没看到 ...