- 浏览: 40421 次
- 性别:
- 来自: 武汉
文章分类
- 全部博客 (52)
- hibernate (3)
- spring (1)
- struts (0)
- commons (0)
- 英语自我介绍 (1)
- sql (18)
- extjs (0)
- linux (4)
- java (7)
- svn (0)
- html-css (1)
- ant (1)
- weblogic (1)
- perl (2)
- jsp (2)
- jms (2)
- log4j (1)
- android (2)
- maven (1)
- memcached (1)
- webservice (1)
- 在eclipse中使用Lombok (1)
- js (2)
- 在win7上安装oracle 10g配置文件更改 (0)
- myeclipse10安装svn (1)
最新评论
多看别人设计好的代码,包括教材上的例题程序,在读懂别人的代码之后,想想为何人家这样设计?能不能在现有的程序上改动增加更多的功能?在学习他人的优秀之处时同时提高自己的水平。为了更好的帮助大家考试,考试百科为您提供了关于Oracle认证专题:Oracle按时间分组统计的sql,具体内容如下:
如下表table1:
日期(exportDate) 数量(amount)
-------------- -----------
14-2月 -08 20
10-3月 -08 2
14-4月 -08 6
14-6月 -08 75
24-10月-09 23
14-11月-09 45
04-8月 -10 5
04-9月 -10 44
04-10月-10 88
注意:为了显示更直观,如下查询已皆按相应分组排序
1.按年份分组
select to_char(exportDate,'yyyy'),sum(amount) from table1 group by to_char(exportDate,'yyyy');
年份 数量
-----------------------------
2009 68
2010 137
2008 103
2.按月份分组
select to_char(exportDate,'yyyy-mm'),sum(amount) from table1 group by to_char(exportDate,'yyyy-mm')
order by to_char(exportDate,'yyyy-mm');
月份 数量
-----------------------------
2008-02 20
2008-03 2
2008-04 6
2008-06 75
2009-10 23
2009-11 45
2010-08 5
2010-09 44
2010-10 88
3.按季度分组
select to_char(exportDate,'yyyy-Q'),sum(amount) from table1 group by to_char(exportDate,'yyyy-Q')
order by to_char(ex(更多考试资讯尽在http://www.kaoshibaike.com/)portDate,'yyyy-Q');
季度 数量
------------------------------
2008-1 22
2008-2 81
2009-4 68
2010-3 49
2010-4 88
4.按周分组
select to_char(exportDate,'yyyy-IW'),sum(amount) from table1 group by to_char(exportDate,'yyyy-IW')
order by to_char(exportDate,'yyyy-IW');
周 数量
------------------------------
2008-07 20
2008-11 2
2008-16 6
2008-24 75
2009-43 23
2009-46 45
2010-31 5
2010-35 44
2010-40 88
补充:
按季度分组还有个比较笨的方法(参考网络资源)
select to_char(exportDate,'yyyy'),
sum(decode(to_char(exportDate,'mm'),'01',amount,'02',amount,'03',amount,0)) as 第一季,
sum(decode(to_char(exportDate,'mm'),'04',amount,'05',amount,'06',amount,0)) as 第二季,
sum(decode(to_char(exportDate,'mm'),'07',amount,'08',amount,'09',amount,0)) as 第三季,
sum(decode(to_char(exportDate,'mm'),'10',amount,'11',amount,'12',amount,0)) as 第四季
from table1
group by to_char(exportDate,'yyyy');
年份 第一季 第二季 第三季 第四季
--------------------------------------------------
2009 0 0 0 68
2010 0 0 49 88
2008 22 81 0 0
以上就是由考试百科为大家提供的关于Oracle认证专题:Oracle按时间分组统计的sql的所有内容,关注考试、关注考试百科。
本文转载自考试百科资讯(http://pc.kaoshibaike.com/ora/zthz/201107/460337.html)转载请标明出处。
如下表table1:
日期(exportDate) 数量(amount)
-------------- -----------
14-2月 -08 20
10-3月 -08 2
14-4月 -08 6
14-6月 -08 75
24-10月-09 23
14-11月-09 45
04-8月 -10 5
04-9月 -10 44
04-10月-10 88
注意:为了显示更直观,如下查询已皆按相应分组排序
1.按年份分组
select to_char(exportDate,'yyyy'),sum(amount) from table1 group by to_char(exportDate,'yyyy');
年份 数量
-----------------------------
2009 68
2010 137
2008 103
2.按月份分组
select to_char(exportDate,'yyyy-mm'),sum(amount) from table1 group by to_char(exportDate,'yyyy-mm')
order by to_char(exportDate,'yyyy-mm');
月份 数量
-----------------------------
2008-02 20
2008-03 2
2008-04 6
2008-06 75
2009-10 23
2009-11 45
2010-08 5
2010-09 44
2010-10 88
3.按季度分组
select to_char(exportDate,'yyyy-Q'),sum(amount) from table1 group by to_char(exportDate,'yyyy-Q')
order by to_char(ex(更多考试资讯尽在http://www.kaoshibaike.com/)portDate,'yyyy-Q');
季度 数量
------------------------------
2008-1 22
2008-2 81
2009-4 68
2010-3 49
2010-4 88
4.按周分组
select to_char(exportDate,'yyyy-IW'),sum(amount) from table1 group by to_char(exportDate,'yyyy-IW')
order by to_char(exportDate,'yyyy-IW');
周 数量
------------------------------
2008-07 20
2008-11 2
2008-16 6
2008-24 75
2009-43 23
2009-46 45
2010-31 5
2010-35 44
2010-40 88
补充:
按季度分组还有个比较笨的方法(参考网络资源)
select to_char(exportDate,'yyyy'),
sum(decode(to_char(exportDate,'mm'),'01',amount,'02',amount,'03',amount,0)) as 第一季,
sum(decode(to_char(exportDate,'mm'),'04',amount,'05',amount,'06',amount,0)) as 第二季,
sum(decode(to_char(exportDate,'mm'),'07',amount,'08',amount,'09',amount,0)) as 第三季,
sum(decode(to_char(exportDate,'mm'),'10',amount,'11',amount,'12',amount,0)) as 第四季
from table1
group by to_char(exportDate,'yyyy');
年份 第一季 第二季 第三季 第四季
--------------------------------------------------
2009 0 0 0 68
2010 0 0 49 88
2008 22 81 0 0
以上就是由考试百科为大家提供的关于Oracle认证专题:Oracle按时间分组统计的sql的所有内容,关注考试、关注考试百科。
本文转载自考试百科资讯(http://pc.kaoshibaike.com/ora/zthz/201107/460337.html)转载请标明出处。
发表评论
-
执行带输出参数的存储过程
2014-10-30 09:59 544调用存储过程时,参数列表中的输出变量不能是常量,又不能在调用时 ... -
存储过程实例
2014-10-29 11:24 461create or replace procedure pro ... -
含有if else的存储过程
2014-10-27 17:19 658create or replace procedure add ... -
oracle 游标实例
2014-10-27 14:57 448create or replace procedure add ... -
oracle 客户端配置
2014-09-01 22:41 532http://blog.sina.com.cn/s/blog_ ... -
oracle 建表
2014-03-03 14:54 623create table contact ( contact_ ... -
orcle
2013-11-26 13:19 0http://www.2cto.com/database/20 ... -
oracle 找出表的某一历史数据
2013-05-28 20:00 678SELECT * FROM tr_merchant_key A ... -
oracle 找出表的某一历史数据
2013-05-28 20:00 0SELECT * FROM tr_merchant_key A ... -
oracle创建用户 表空间 导入导出
2013-05-03 17:08 529http://www.cnblogs.com/cloudwal ... -
linux下启动oracle
2013-01-15 10:02 614linux下启动oracle http://www.doc88 ... -
oracle导入导出
2012-05-08 18:20 537imp userid=cspay/cspay fromus ... -
oracle 11g空表不能导出
2012-05-08 18:06 669http://blog.csdn.net/yangsen251 ... -
oracle服务配置
2012-05-08 18:02 574oracle服务配置 -
sybase存储过程实例
2011-04-12 18:05 1140IF OBJECT_ID('dbo.gcdr_prepare_ ... -
查看oracle数据库的sid
2011-01-24 09:55 767select name from v$database -
oracle与mysql 空字符串
2011-01-21 14:07 729select * from test t where sex ... -
linux登录本机的mysql
2011-01-18 16:35 773mysql -h127.0.0.1 -u360buy -p 说 ... -
mysql更改表字段值
2011-01-18 16:24 940例子 ALTER TABLE chatter_users M ...
相关推荐
在本示例中,我们关注的是如何利用SQL查询按时间进行分组统计数据。以下将详细介绍几种常见的分组方法及其应用。 1. **按年份分组**: 使用`to_char()`函数将日期字段转换为年份格式,并结合`GROUP BY`子句进行分组...
按10分钟分割时间 统计算法 不需要别的函数,简便易懂
在实际业务场景中,我们经常需要对大量的数据进行统计分析,例如计算某个部门的员工总数、计算某个时间段内的销售额等。这些需求通常需要对数据进行分组后进行统计,这就需要用到分组函数。例如: - **查询所有员工...
Oracle时间函数是数据库管理中非常关键的一部分,特别是在处理与日期和时间相关的数据时。在Oracle数据库中,时间函数允许我们进行各种操作,如获取当前日期和时间、计算日期之间的差异、调整日期以及按特定周期对...
5. 数据分析:除了基础的查询和展示,积木报表还支持对Oracle数据库中的数据进行深度分析,如计算指标、过滤条件、分组统计等。此外,还提供了图表组件,将数据以图形化形式展现,便于用户直观理解数据趋势和模式。 ...
在具体的应用中,例如统计市级律师服务的已结案、办理中和案件总数,`CASE`语句被用来检查区县代码、委托时间以及申请状态代码,以此来区分不同的状态。同时,通过`SUBSTR`函数处理业务字段,获取行政区域和业务模块...
3. **SELECT查询**:Oracle SQL的查询语法丰富,可以使用WHERE子句进行条件过滤,GROUP BY和HAVING子句进行分组统计,ORDER BY子句进行排序,以及JOIN操作连接多个表。 4. **视图**:视图是虚拟表,基于一个或多个...
这些统计信息通常包括执行次数、平均执行时间、等待时间等。通过这些信息,可以确定哪些SQL语句需要优化。 - **SQL Monitor**: SQL Monitor提供了一个详尽的报告,包括执行计划、等待事件等信息,这对于诊断性能...
7. **分组与聚合函数**:介绍GROUP BY、HAVING和聚合函数(如COUNT、SUM、AVG、MAX、MIN)的应用,用于统计和分析数据。 8. **窗口函数**:探讨ROW_NUMBER、RANK、DENSE_RANK、LEAD、LAG等窗口函数的使用,用于行级...
这些示例展示了如何利用Oracle SQL进行复杂的数据聚合和分组,以及如何处理日期和时间字段以满足特定的统计需求。开发者可以通过修改这些基础模板,适应其他类似的数据分析任务。此外,了解如何有效利用子查询、聚合...
综上所述,解决“sql计算某个时间为甲乙丙丁中的哪一个班组”的问题,关键在于理解并运用Oracle SQL的日期函数、时间比较、CASE语句以及可能的分组统计。具体实现应根据实际的班组划分规则和数据表结构进行调整。在...
可以使用WHERE子句进行筛选,ORDER BY子句进行排序,以及GROUP BY和HAVING子句进行分组统计。联接(JOIN)操作则允许从多个表中合并数据。 第五讲:复杂查询 复杂的查询涉及子查询、联接和集合运算。子查询可以在...
- **分组统计**:使用GROUP BY子句结合聚合函数(如COUNT, SUM等)进行分组统计。 - **连接查询**:包括INNER JOIN、LEFT JOIN、RIGHT JOIN等多种类型的连接方式。 - **子查询**:在一个查询语句中嵌套另一个查询...
在Oracle 9i中,时间间隔类型(INTERVAL)用于存储时间间隔,如年、月、日、小时等。可以通过ALTER TABLE语句添加新的间隔列,并设置相应的精度。 4. **配置Oracle监听器**: 监听器(Listener)负责接收客户端的...
3. 数据类型:Oracle支持多种数据类型,包括数值类型(如NUMBER)、字符串类型(如VARCHAR2、CHAR)、日期时间类型(如DATE)以及二进制数据类型(如BLOB)等。 二、SQL语言 1. DDL(Data Definition Language):...
4. **03-习题讲解1及多表查询、分组统计、数据更新.pdf**:这部分涉及更复杂的SQL操作,如联接查询、子查询,以及GROUP BY和HAVING子句用于数据的分组统计。同时,还包括了如何在Oracle中进行数据的插入、更新和删除...
6. **分组与汇总**:学会如何根据特定字段进行数据分组,并应用汇总函数(如SUM、AVG、COUNT等)进行数据统计,是创建复杂报告的基础。 7. **报表格式化**:报告的外观同样重要。掌握如何设置字体、颜色、边框、...
2. **统计信息**:保持统计信息的准确和最新,以帮助Oracle做出更好的执行计划选择。 3. **PGA与SGA**:根据工作负载调整内存分配,优化数据处理。 五、其他优化策略 1. **数据库设计优化**:规范化和反规范化设计...