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用函数进行每年,每月,每周,每日的数据汇总的更多相关文章

  1. SQL语句统计每天、每月、每年的 数据

    SQL语句统计每天.每月.每年的数据 1.每年select year(ordertime) 年,sum(Total) 销售合计from 订单表group by year(ordertime) 2.每月 ...

  2. 【转】SQL语句统计每天、每月、每年的数据

    原文:https://www.cnblogs.com/Fooo/p/3435687.html SQL语句统计每天.每月.每年的数据 1.每年select year(ordertime) 年,sum(T ...

  3. ORACLE SQL单行函数(三)【weber出品必属精品】

    16.L:代表本地货币符,这个和区域有关.这个时候我们想来显示一下人民币的符号:¥ $ vi .bash_profile ---写入如下内容: export NLS_LANG='SIMPLIFIED ...

  4. ORACLE SQL单行函数(一)【weber出品必属精品】

    1.SUBSTR:求父串中的子串 SUBSTR('HelloWorld',1,5) 1:代表子串的起始位置,如果为正,正数,如果为负,倒数 5:代表字串的终止位置,只能向右数,可以省略,如果省略就是数 ...

  5. ORACLE SQL 组函数【weber出品必属精品】

    组函数:对一组数据进行加工,每组数据返回一个值 常用的组函数:count()  avg()  max()   min()  sum()   count()函数  1. count(*) :返回总共的行 ...

  6. ORACLE SQL单行函数(二)【weber出品必属精品】

    11.dual:虚表,任何用户都可以使用,表结构如下: SQL> desc dual Name Null? Type -------------------------------------- ...

  7. SQL语句统计每天、每月、每年的数据

    1.每年select year(ordertime) 年,sum(Total) 销售合计from 订单表group by year(ordertime) 2.每月select year(orderti ...

  8. [原创]SQL表值函数:返回自定义时间段的日期数据

    跟以往类似,我依旧介绍一个我日常开发遇到的知识点,谨此记录一下,也希望能帮助到一些朋友. 这次我要介绍的是通过SQL函数返回你输入的两个时间点内的日期数据. 效果图如下: 执行函数:SELECT * ...

  9. Oracle SQL常用内置系统函数总结

    Oracle数据库  内置系统函数主要分为以下类别:数学函数.字符串函数.日期函数.转换函数.聚合函数.分析聚合函数 一.数学函数 ------------返回数字       abs(n):返回数字 ...

随机推荐

  1. java中start()、yield、setDeamon()

    本节主要说明以下三个问题 start()的启动顺序不代表线程的启动顺序 yeild的作用 守护线程 1.start()与线程启动顺序 package foreverly.cn.chapter1; pu ...

  2. myeclipse中jpa的安装以及jpa reverse engining

    myeclipse中jpa的安装以及jpa reverse engining 安装 右击 Configure Facets, Install JPA jpa reverse engining 1.db ...

  3. 【pytorch】学习笔记(三)-激励函数

    [pytorch]学习笔记-激励函数 学习自:莫烦python 什么是激励函数 一句话概括 Activation: 就是让神经网络可以描述非线性问题的步骤, 是神经网络变得更强大 1.激活函数是用来加 ...

  4. JMX jconsole 的使用

    JMX 1. JMX简单介绍 JMX的全称为Java Management Extensions. 顾名思义,是管理Java的一种扩展.这种机制可以方便的管理正在运行中的Java程序.常用于管理线程, ...

  5. 51nod 1251 Fox序列的数量 (容斥)

    枚举最多数字的出现次数$k$, 考虑其他数字的分配情况. 对至少$x$种数出现$\ge k$次的方案容斥, 有 $\sum (-1)^x\binom{m-1}{x}\binom{n-(x+1)k+m- ...

  6. 全面解析java编码问题

    1.web.xml文件里配置 <filter> <filter-name>CharacterEncodingFilter</filter-name> <fil ...

  7. Binding的简单使用

    Binding可以看作是数据的桥梁,两端分别为Source和Target,一般情况,Source是逻辑层的对象,Target是UI层的控件对象,可以将数据从逻辑层送往UI层展现 简单的例子: clas ...

  8. 利用python3 调用zabbix接口完成批量加聚合图形(screens)

    在上一篇博客中,我们完成的利用python3 调用zabbix接口批量增加主机,增加主机的item,增加主机的图形! 接下来我们完成批量增加主机的screen 首先我们要增加screen需要哪些参数呢 ...

  9. wampserver2.2 在window2003下的安装的主要问题

    准备安装最新的wampserver 2.2c,   1.安装问题,安装完成后总是无法启动服务   系统事件中提示错误 找不到附属汇编 Microsoft.VC90.CRT,上一个错误是 参照的汇编没有 ...

  10. Darknet版YOLO安装与配置

    Darknet配置和安装 1. 安装显卡驱动 首先查看一下自己的电脑需要怎样的驱动,我们可以先到 http://www.nvidia.com/Download/index.aspx 查询下我们需要的是 ...