15/03/21  用函数进行每年,每月,每周,每日的数据汇总

假设一个销售明细表 sale_detail 含有 国家(country),销售时间(sale_time),销售额(sale_money)..等等

需要用到求和函数 SUM()和分组子句 GROUP BY   按国家和年份分组进行求和汇总(对每一个国家的每一年进行求和)

有两种语句形式:

每年汇总

1、表格形式例如:

国家

年份

销售额

巴西

2014

500000000000

方式一:

SELECT  S.country  as 国家---as 可以省略

to_char(S.sale_time,’YYYY’)  as 年份---to_char()字符格式化函数,将时间格式转换为四位年份,‘YYYY’字符格式显示

Sum(S.sale_money) as 销售额---对满足国家年份条件的金额进行汇总

FROM   sale_detail  S ---数据源为 sale_detail

WHERE  sale_time>=to_date(‘2014-01-01’,’YYYY-MM-DD’) ---to_date()时间格式化函数,讲字符转换为时间格式。用时间范围的形式确定时间范围为哪年。

AND   sale_time<=to_date(‘2015-01-01,’YYYY-MM-DD’)

GROUP BY   S.country,sale_time--- 将WHERE查询出的数据按国家,时间汇总

HAVING Sum(S.sale_money)>10000000--   对分组查询出来的结果进行处理,只选出大于10000000-的数据。

方式二:

SELECT  S.country  as 国家---as 可以省略

to_char(S.sale_time,’YYYY’)  as 年份---to_char()字符格式化函数,将时间格式转换为四位年份,‘YYYY’字符格式显示

Sum(S.sale_money) as 销售额---对满足国家年份条件的金额进行汇总

FROM   sale_detail  S ---数据源为 sale_detail

WHERE  to_char(sale_time,’YYYY’)=’2014’--to_char()字符转换格式化函数,将时间格式转换为字符。查找出含有2014年的数据。

GROUP BY   S.country,sale_time--- 将WHERE查询出的数据按国家,时间汇总

HAVING Sum(S.sale_money)>10000000--   对分组查询出来的结果进行处理,只选出大于10000000-的数据。

每月汇总

1、表格形式如下

国家

月份

销售额

巴西

2014/05

6000000

SELECT  S.country  as 国家---as 可以省略

to_char(S.sale_time,’YYYY/MM’)  as 年份---to_char()字符格式化函数,将时间格式转换为四位年份,两位月份,‘YYYY/MM’字符格式显示

Sum(S.sale_money) as 销售额---对满足国家年份条件的金额进行汇总

FROM   sale_detail  S ---数据源为 sale_detail

WHERE  to_char(sale_time,’YYYY’)=’2014’--to_char()字符转换格式化函数,将时间格式转换为字符。查找出含有2014年的数据。

GROUP BY   S.country,sale_time--- 将WHERE查询出的数据按国家,时间汇总

ORDER BY   S.sale_time

2、表格形式如下:

国家

年份

月份

销售额

巴西

2014

1

600000

巴西

2015

2

600000

SELECT  S.country  as 国家---as 可以省略

to_char(S.sale_time,’YYYY’)  as 年份

to_char(S.sale_time,’MM’)  as 月份---to_char()字符格式化函数,将时间格式转换为四位年份,两位月份,‘MM’字符格式显示

Sum(S.sale_money) as 销售额---对满足国家年份条件的金额进行汇总

FROM   sale_detail  S ---数据源为 sale_detail

WHERE  to_char(sale_time,’YYYY’)  in (’2014’,’2015’)--to_char()字符转换格式化函数,将时间格式转换为字符。查找出含有2014,2015年的数据。

GROUP BY   S.country,sale_time--- 将WHERE查询出的数据按国家,时间汇总

ORDER BY   S.country,,S.sale_time

最新文章

  1. Linux 如何通过命令仅获取IP地址
  2. Swift编程语言简介
  3. {POJ}{3988}{Software Industry Revolution}{DP好题}
  4. git server服务器搭建
  5. 关于1Byte 1K 1M 1G(换算)
  6. memory leak at strcore.cpp
  7. SetConsoleScreenBufferSize 函数--设置控制台屏幕缓冲区大小
  8. Oracle总结【PLSQL学习】
  9. 进入TP-Link路由器之后利用快捷键F12查看星号路由密码的方法
  10. 局部变量,全局变量初始值问题----C与指针练习题4.14.1
  11. D. Equalize Them All Codeforces Round #550 (Div. 3)
  12. CSS变形transform(2d)
  13. JavaScript中解决jQuery和Prototype.js同时引入冲突问题
  14. html5 手机端 通讯录 touch 效果
  15. latex 脚注编号也成为超链接
  16. 二、为什么要用MapReduce
  17. pycharm如何显示工具栏
  18. Qt Lighthouse学习(二),就是QPA(Qt Platform Abstraction) 项目的名字
  19. 几个Tab,滑动门,选项卡,图片切换
  20. UTF8字符串转换为汉字 c#

热门文章

  1. 云风协程库coroutine源码分析
  2. [转帖]互联网同步yum服务器阿里云 reposync createrepo
  3. [转帖]Linux查找文件6个高效工具
  4. python_线程读写操作&lt;一&gt;
  5. Django之自定义标签,过滤器,以及inclusion_tag
  6. python基础之初始函数
  7. python 目录管理与文件管理
  8. 关于windows下无法删除文件,需要TrueInstaller权限的问题
  9. wannacry分析--20199319
  10. nfs服务的配置