一、实现效果

1.1、原表内容

1.2、实现效果

①实现对报警信息(TYPENAME)内容分组,且对设备编号、报警信息、开始时间排序效果。

②实现对报警信息(TYPENAME)内容分组统计,且计算开始时间(CreationTimeStart)、结束时间(CreationTime)差值(对差值保留2位小数)效果。

③实现对报警信息(TYPENAME)内容分组统计,且获取最小开始时间(CreationTimeStart)、最大结束时间(CreationTime)差值(对差值保留2位小数)效果。

二、实现原理

2.1、实现思路

①使用【Group by】对需要分组的字段分组;

②使用【Count】统计个数,【Sum】求和,【min、max】求最小最大;

③使用【Order by】对需要排序的字段排序;

④基础的sql语句

//分组的基础SQL执行语句
SELECT '字段1','字段2','字段3' FROM '表名称' GROUP BY '需分组的字段1','需分组的字段2','需分组的字段3' HAVING '需要判断的字段条件' ORDER BY '需排序的字段' ASC

2.2、实现效果的SQL语句

①实现对报警信息(TYPENAME)内容分组,且对设备编号、报警信息、开始时间排序SQL.

 SELECTDeviceNumber,DeviceName,DeviceType,TypeName,DeviceValue,CreationTimeStart,CreationTime FROMDEVICEALARM WHEREDeviceNumber IN ( 'C1_02_01' ) AND TYPENAME LIKE '%1管%' AND CreationTimeStart BETWEEN TO_DATE( '2021-09-28 08:00:00', 'yyyy-MM-dd hh24:mi:ss' ) AND TO_DATE( '2021-09-28 19:59:59', 'yyyy-MM-dd hh24:mi:ss' ) GROUP BYDeviceNumber,DeviceName,DeviceType,TypeName,DeviceValue,CreationTimeStart,CreationTime ORDER BYDeviceNumber ASC,TYPENAME ASC,CreationTimeStart DESC

②实现对报警信息(TYPENAME)内容分组统计,且计算开始时间(CreationTimeStart)、结束时间(CreationTime)差值(对差值保留2位小数)效果。

SELECTDeviceNumber,DeviceName,DeviceType,TypeName,COUNT( TypeName ) AlarmNumber,TO_CHAR( SUM( AffectMinutes ), 'FM9990.00' ) AffectMinutes1 FROM(SELECT* FROM(SELECTDeviceNumber,DeviceName,DeviceType,TypeName,CreationTimeStart,CreationTime,TO_CHAR( ( ( DA.CreationTime - DA.CreationTimeStart ) * 24 * 60 ), 'FM9990.00' ) AffectMinutes FROMDEVICEALARM DA ) WHEREDeviceNumber IN ( 'C1_02_01' ) AND TYPENAME LIKE '%1管%' AND CreationTimeStart BETWEEN TO_DATE( '2021-09-28 08:00:00', 'yyyy-MM-dd hh24:mi:ss' ) AND TO_DATE( '2021-09-28 19:59:59', 'yyyy-MM-dd hh24:mi:ss' ) ) GROUP BYDeviceNumber,DeviceName,DeviceType,TypeName ORDER BYTypeName ASC

③实现对报警信息(TYPENAME)内容分组统计,且获取最小开始时间(CreationTimeStart)、最大结束时间(CreationTime)差值(对差值保留2位小数)效果。

 SELECT* FROM(SELECTDeviceNumber DeviceNumber1,DeviceName DeviceName1,DeviceType DeviceType1,TypeName AlarmInfo1,AlarmNumber AlarmNumber1,TO_CHAR( ( ( PerGroupMaxEndTime - PerGroupMinStartTime ) * 24 ), 'FM9990.00' ) AffectMinutes1 FROM(SELECTDeviceNumber,DeviceName,DeviceType,TypeName,COUNT( TypeName ) AlarmNumber,MIN( CreationTimeStart ) PerGroupMinStartTime,MAX( CreationTime ) PerGroupMaxEndTime FROM(SELECT* FROMDEVICEALARM WHEREDeviceNumber IN ( 'C1_02_01' ) AND TYPENAME LIKE '%1管%' AND CreationTimeStart BETWEEN TO_DATE( '2021-09-28 08:00:00', 'yyyy-MM-dd hh24:mi:ss' ) AND TO_DATE( '2021-09-28 19:59:59', 'yyyy-MM-dd hh24:mi:ss' ) ) GROUP BYDeviceNumber,DeviceName,DeviceType,TypeName ORDER BYDeviceNumber ASC,TypeName ASC ) ) WHEREAffectMinutes1 >0

Oracle中对数据分组统计相关推荐

  1. oracle复杂分组查询语句,oracle中的“复杂”分组统计sql

    要求: 呼叫系统(Call Center)每天会有大量的电话进线数据,领导们要查看每天的进线数汇总,并且要求把 每天从上午8点到上午12点以及下午2点到晚上8点这两个时间段的数据汇总 "视& ...

  2. mysql按天,小时,半小时,N分钟,分钟进行数据分组统计

    mysql按天,小时,半小时,N分钟,分钟进行数据分组统计 mysql不同时间粒度下的分组统计 按天统计 按小时统计 按半小时统计 按N分钟统计 按分钟统计 mysql不同时间粒度下的分组统计 我们在 ...

  3. mysql中实现分类统计查询的步骤_在MySQL中如何进行分组统计查询

    昨天和大家分享了MySQL中,如何进行聚合函数及统计函数查询,若是不清楚的话,可以去看一下我的那个文章.今天继续和大家分享,在MySQL中如何进行分组统计查询,这个在实际应用中,也会经常运用到,比如以 ...

  4. FME教程:表格数据分组统计总数的三种实现方式

    在FME中进行表格数据分组统计总数的三种方式,实现类似SQL中分组统计总数的功能. 一.业务场景 现在有图1所示的一份Excel表格数据,要求统计每个村的户数,如图2所示. 图1 Excel表格数据 ...

  5. MyBatis在Oracle中插入数据并返回主键的问题解决

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 前言:我早期用过这个方法,但是返回的依旧是影响行数,不是主键. 只是这种写法可以达到我要的效果: 用 ...

  6. oracle不连续得时间如何分组,Oracle按不同时间分组统计的sql

    Oracle按不同时间分组统计的sql以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Oracle按不同时间分组统计的s ...

  7. oracle中的数据对象

    oracle中的数据对象有表.视图.索引.序列等 表的相关操作 1.创建表 方式一: 方式二:create table person( create table person1 id number(1 ...

  8. oracle删除的数据没有commit,在Oracle中误删除数据后并commit后的数据恢复办法

    在Oracle中误删除数据后并commit后的数据恢复办法 背景:表A数据误操作,被delete了,恢复. --1.先备份A表当前数据. --2.查询某 在Oracle中误删除数据后并commit后的 ...

  9. excel查询oracle数据库,用Excel直接查询Oracle中的数据

    一般情况下,我们如果想要把Oracle当中查询的数据保存为Excel文件,一般都是使用的是PL/SQLDeveloper,本文就给大家介绍一下关于用Excel直接查询Oracle中的数据的内容. 事实 ...

最新文章

  1. 最新技术选型解决方案列表
  2. 手动配置linux(centos)的IP地址
  3. 使用poi进行数据的导出Demo
  4. 安装VS2008新挫折
  5. 信息收集 ——C段扫描
  6. .Net Core 之 Ubuntu 14.04 部署过程
  7. python安装pygame模块_windows下 python 如何安装pygame模块
  8. python使用proxy
  9. 项目实战大全,提升经验的最好办法(一)
  10. 抱团股大跌,亏了谁的钱?
  11. Activity与Fragment的onActivityResult细节
  12. 专家显身支招 教你如何选购高品质DDR2内存(例)
  13. U盘加密软件测试自学,利用联想USB接口加密软件给你的U盘加密、设定访问权限...
  14. Illustrator快捷键全集
  15. 嵌入式系统设计师需要掌握什么
  16. httpclient中 RequestEntity和RequestBody区别
  17. NTL库在Win上基于MinGW的安装
  18. android安装程序后缀,【单选题】Android安装包文件简称APK,其后缀名是() A. .apk B. .exe C. .txt D. .app...
  19. 《the Great Gatsby》Day 33
  20. (附源码)计算机毕业设计ssm高校餐厅评价系统

热门文章

  1. 1 个月吐血准备,我吃透了300道Java大厂面试题,这次绝对稳了!
  2. 前端下载流文件xlsx表格方法
  3. dhcp服务器响应慢,开机显示DHCP,速度很慢,为什么
  4. 怎样才能让百度搜索到自己的csdn博客?
  5. Android qq健康接入,手机QQ健康中心怎么添加 怎么进入手机QQ健康中心?
  6. 基于微信图书商城小程序系统设计与实现 开题报告
  7. 智能优化算法:北方苍鹰优化算法-附代码
  8. Viewer.js Javascript/jQuery图片查看器
  9. leetcode刷题记录2:进度64, 2021.10.23
  10. git clone 项目报错