ASK_TIME ATM_NUMBER
2012-01-01 2
2012-02-01 4
2012-05-01 6
2012-08-01 8
1.按年份分组
SELECT (to_char(ASK_TIME,'yyyy')) as 年份, (sum(ATM_NUMBER)) as ATM数量
FROM TB_KFWH_WORKREPORT GROUP BY to_char(ASK_TIME,'yyyy')
--------------------------------------------------------------------
年份 ATM数量
2012 20
2.按月份分组
SELECT (to_char(ASK_TIME,'yyyy-mm')) as 月份, (sum(ATM_NUMBER)) as ATM数量
FROM TB_KFWH_WORKREPORT GROUP BY to_char(ASK_TIME,'yyyy-mm')
-----------------------------------------------------------------------
月份 ATM数量
2012-01 2
2012-02 4
2012-05 6
2012-08 8
3.按星期分组
SELECT (to_char(ASK_TIME,'yyyy-IW')) as 星期, (sum(ATM_NUMBER)) as ATM数量
FROM TB_KFWH_WORKREPORT GROUP BY to_char(ASK_TIME,'yyyy-IW')
4.按季度分组
SELECT (to_char(ASK_TIME,'yyyy-Q')) as 季度, (sum(ATM_NUMBER)) as ATM数量
FROM TB_KFWH_WORKREPORT GROUP BY to_char(ASK_TIME,'yyyy-Q')
-----------------------------------------------------------------
季度 ATM数量
2012-1 6
2012-2 6
2012-3 8
或者
SELECT (to_char(ASK_TIME,'yyyy')) as 年份 ,
sum(decode(to_char(ASK_TIME,'mm'),'01',ATM_NUMBER,'02',ATM_NUMBER,'03',ATM_NUMBER,'0')) as 第一季,
sum(decode(to_char(ASK_TIME,'mm'),'04',ATM_NUMBER,'05',ATM_NUMBER,'06',ATM_NUMBER,'0')) as 第二季,
sum(decode(to_char(ASK_TIME,'mm'),'07',ATM_NUMBER,'08',ATM_NUMBER,'09',ATM_NUMBER,'0')) as 第三季,
sum(decode(to_char(ASK_TIME,'mm'),'10',ATM_NUMBER,'11',ATM_NUMBER,'12',ATM_NUMBER,'0')) as 第四季
FROM TB_KFWH_WORKREPORT GROUP BY to_char(ASK_TIME,'yyyy')
------------------------------------------------------------
年份 第一季 第二季 第三季 第四季
2012 6 6 8 0
分享到:
相关推荐
在本示例中,我们关注的是如何利用SQL查询按时间进行分组统计数据。以下将详细介绍几种常见的分组方法及其应用。 1. **按年份分组**: 使用`to_char()`函数将日期字段转换为年份格式,并结合`GROUP BY`子句进行分组...
在实际业务场景中,我们经常需要对大量的数据进行统计分析,例如计算某个部门的员工总数、计算某个时间段内的销售额等。这些需求通常需要对数据进行分组后进行统计,这就需要用到分组函数。例如: - **查询所有员工...
Oracle时间函数是数据库管理中非常关键的一部分,特别是在处理与日期和时间相关的数据时。在Oracle数据库中,时间函数允许我们进行各种操作,如获取当前日期和时间、计算日期之间的差异、调整日期以及按特定周期对...
5. 数据分析:除了基础的查询和展示,积木报表还支持对Oracle数据库中的数据进行深度分析,如计算指标、过滤条件、分组统计等。此外,还提供了图表组件,将数据以图形化形式展现,便于用户直观理解数据趋势和模式。 ...
3. **SELECT查询**:Oracle SQL的查询语法丰富,可以使用WHERE子句进行条件过滤,GROUP BY和HAVING子句进行分组统计,ORDER BY子句进行排序,以及JOIN操作连接多个表。 4. **视图**:视图是虚拟表,基于一个或多个...
SUM求和,AVG计算平均值,MAX和MIN找出最大最小值,COUNT统计行数,GROUP BY和HAVING用于分组和条件聚合。 6. **逻辑和比较函数**: NOT,AND,OR用于逻辑运算,=,<,>,,>=,进行比较,BETWEEN,IN,IS NULL则...
11. **数据类型**:详述Oracle支持的各种数据类型,如数值型、字符型、日期时间型、二进制数据等,以及它们在实际应用中的选择。 12. **异常处理**:介绍在PL/SQL中如何捕获和处理错误,以及使用RAISE语句和异常...
这些统计信息通常包括执行次数、平均执行时间、等待时间等。通过这些信息,可以确定哪些SQL语句需要优化。 - **SQL Monitor**: SQL Monitor提供了一个详尽的报告,包括执行计划、等待事件等信息,这对于诊断性能...
综上所述,解决“sql计算某个时间为甲乙丙丁中的哪一个班组”的问题,关键在于理解并运用Oracle SQL的日期函数、时间比较、CASE语句以及可能的分组统计。具体实现应根据实际的班组划分规则和数据表结构进行调整。在...
可以使用WHERE子句进行筛选,ORDER BY子句进行排序,以及GROUP BY和HAVING子句进行分组统计。联接(JOIN)操作则允许从多个表中合并数据。 第五讲:复杂查询 复杂的查询涉及子查询、联接和集合运算。子查询可以在...
### Oracle中的经典SQL查询知识点详解 #### 一、查看表空间的名称及大小 此查询用于获取Oracle数据库中各个表空间的名称及其总大小(单位为MB)。 **SQL语句**: ```sql SELECT T.TABLESPACE_NAME, ROUND(SUM(BYTES...
- **分组统计**:使用GROUP BY子句结合聚合函数(如COUNT, SUM等)进行分组统计。 - **连接查询**:包括INNER JOIN、LEFT JOIN、RIGHT JOIN等多种类型的连接方式。 - **子查询**:在一个查询语句中嵌套另一个查询...
在Oracle 10g中,我们有 `COUNT()`, `SUM()`, `AVG()`, `MAX()`, `MIN()` 等,用于统计和聚合数据。此外,`LISTAGG()` 函数允许我们将一组值合并成一个字符串,这对于报告和数据展示非常有用。 三、分组和分层查询 ...
数据库字典是Oracle中一个重要的概念,它存储了数据库的结构信息和统计信息。了解数据字典对于数据库性能调优和管理是不可或缺的。接下来,教程会详细介绍Oracle的数据类型,包括常用的数值类型、字符类型和日期时间...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其强大的功能和灵活性使得它在企业级应用中占据了重要地位。本文将围绕“Oracle日常函数文档”这一主题,深入探讨Oracle数据库中的常用函数及其在日常操作中...
在具体的应用中,例如统计市级律师服务的已结案、办理中和案件总数,`CASE`语句被用来检查区县代码、委托时间以及申请状态代码,以此来区分不同的状态。同时,通过`SUBSTR`函数处理业务字段,获取行政区域和业务模块...
在Oracle 9i中,时间间隔类型(INTERVAL)用于存储时间间隔,如年、月、日、小时等。可以通过ALTER TABLE语句添加新的间隔列,并设置相应的精度。 4. **配置Oracle监听器**: 监听器(Listener)负责接收客户端的...
4. **03-习题讲解1及多表查询、分组统计、数据更新.pdf**:这部分涉及更复杂的SQL操作,如联接查询、子查询,以及GROUP BY和HAVING子句用于数据的分组统计。同时,还包括了如何在Oracle中进行数据的插入、更新和删除...
总结来说,这个示例展示了如何在Oracle中利用日期和时间函数,以及分组和子查询来实现复杂的数据筛选和统计。在实际工作中,理解并熟练运用这些技巧对于优化查询性能和获取精确的数据至关重要。通过这种方式,你可以...