ORACLE/SQL用函数进行每年,每月,每周,每日的数据汇总
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
ORACLE/SQL用函数进行每年,每月,每周,每日的数据汇总的更多相关文章
- SQL语句统计每天、每月、每年的 数据
SQL语句统计每天.每月.每年的数据 1.每年select year(ordertime) 年,sum(Total) 销售合计from 订单表group by year(ordertime) 2.每月 ...
- 【转】SQL语句统计每天、每月、每年的数据
原文:https://www.cnblogs.com/Fooo/p/3435687.html SQL语句统计每天.每月.每年的数据 1.每年select year(ordertime) 年,sum(T ...
- ORACLE SQL单行函数(三)【weber出品必属精品】
16.L:代表本地货币符,这个和区域有关.这个时候我们想来显示一下人民币的符号:¥ $ vi .bash_profile ---写入如下内容: export NLS_LANG='SIMPLIFIED ...
- ORACLE SQL单行函数(一)【weber出品必属精品】
1.SUBSTR:求父串中的子串 SUBSTR('HelloWorld',1,5) 1:代表子串的起始位置,如果为正,正数,如果为负,倒数 5:代表字串的终止位置,只能向右数,可以省略,如果省略就是数 ...
- ORACLE SQL 组函数【weber出品必属精品】
组函数:对一组数据进行加工,每组数据返回一个值 常用的组函数:count() avg() max() min() sum() count()函数 1. count(*) :返回总共的行 ...
- ORACLE SQL单行函数(二)【weber出品必属精品】
11.dual:虚表,任何用户都可以使用,表结构如下: SQL> desc dual Name Null? Type -------------------------------------- ...
- SQL语句统计每天、每月、每年的数据
1.每年select year(ordertime) 年,sum(Total) 销售合计from 订单表group by year(ordertime) 2.每月select year(orderti ...
- [原创]SQL表值函数:返回自定义时间段的日期数据
跟以往类似,我依旧介绍一个我日常开发遇到的知识点,谨此记录一下,也希望能帮助到一些朋友. 这次我要介绍的是通过SQL函数返回你输入的两个时间点内的日期数据. 效果图如下: 执行函数:SELECT * ...
- Oracle SQL常用内置系统函数总结
Oracle数据库 内置系统函数主要分为以下类别:数学函数.字符串函数.日期函数.转换函数.聚合函数.分析聚合函数 一.数学函数 ------------返回数字 abs(n):返回数字 ...
随机推荐
- java中start()、yield、setDeamon()
本节主要说明以下三个问题 start()的启动顺序不代表线程的启动顺序 yeild的作用 守护线程 1.start()与线程启动顺序 package foreverly.cn.chapter1; pu ...
- myeclipse中jpa的安装以及jpa reverse engining
myeclipse中jpa的安装以及jpa reverse engining 安装 右击 Configure Facets, Install JPA jpa reverse engining 1.db ...
- 【pytorch】学习笔记(三)-激励函数
[pytorch]学习笔记-激励函数 学习自:莫烦python 什么是激励函数 一句话概括 Activation: 就是让神经网络可以描述非线性问题的步骤, 是神经网络变得更强大 1.激活函数是用来加 ...
- JMX jconsole 的使用
JMX 1. JMX简单介绍 JMX的全称为Java Management Extensions. 顾名思义,是管理Java的一种扩展.这种机制可以方便的管理正在运行中的Java程序.常用于管理线程, ...
- 51nod 1251 Fox序列的数量 (容斥)
枚举最多数字的出现次数$k$, 考虑其他数字的分配情况. 对至少$x$种数出现$\ge k$次的方案容斥, 有 $\sum (-1)^x\binom{m-1}{x}\binom{n-(x+1)k+m- ...
- 全面解析java编码问题
1.web.xml文件里配置 <filter> <filter-name>CharacterEncodingFilter</filter-name> <fil ...
- Binding的简单使用
Binding可以看作是数据的桥梁,两端分别为Source和Target,一般情况,Source是逻辑层的对象,Target是UI层的控件对象,可以将数据从逻辑层送往UI层展现 简单的例子: clas ...
- 利用python3 调用zabbix接口完成批量加聚合图形(screens)
在上一篇博客中,我们完成的利用python3 调用zabbix接口批量增加主机,增加主机的item,增加主机的图形! 接下来我们完成批量增加主机的screen 首先我们要增加screen需要哪些参数呢 ...
- wampserver2.2 在window2003下的安装的主要问题
准备安装最新的wampserver 2.2c, 1.安装问题,安装完成后总是无法启动服务 系统事件中提示错误 找不到附属汇编 Microsoft.VC90.CRT,上一个错误是 参照的汇编没有 ...
- Darknet版YOLO安装与配置
Darknet配置和安装 1. 安装显卡驱动 首先查看一下自己的电脑需要怎样的驱动,我们可以先到 http://www.nvidia.com/Download/index.aspx 查询下我们需要的是 ...