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. [Python3] 035 函数式编程 高阶函数

    目录 函数式编程 之 高阶函数 1. 引子 2. 系统提供的高阶函数 3. functools 包提供的 reduce 4. 排序 函数式编程 之 高阶函数 把函数作为参数使用的函数,叫高阶函数 1. ...

  2. 21天学通Python课后实验题4.6

    21天学通Python课后实验题4.6 1. 编程实现用户输入一门课程的两门子课程成绩,第一门子课程60分以上,则显示“通过”,第一门子课程不及格,则显示“未通过”,第一门子课程及格,而第二门子课程不 ...

  3. Eclipse中格式化代码

    Eclipse中格式化代码快捷键Ctrl+Shift+F失效的解决办法 格式化代码的时候,右键 --> Source --> Format 能够起效,但 Ctrl+Shift+F不好使. ...

  4. java多线程的优先性问题

    多线程的优先级问题 重点:理解线程优先级的继承性.规则性.随机性 线程的优先级 在操作系统中,线程可以划分优先级,.尽可能多的给优先级高的线程分配更多的CPU资源. 线程的优先级分为1~10,有三个预 ...

  5. Laravel之杂记

    1.composer设置国内镜像加速 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 2 ...

  6. Thinkphp5.0上传图片与运行python脚本

    这里只体现了php可以通过批处理文件调用python脚本的效果 控制器代码 访问路径为127.0.0.1/index/index/upload. index模块,index控制器,upload方法. ...

  7. [Next] 服务端渲染知识补充

    渲染 渲染:就是将数据和模版组装成 html 客户端渲染 客户端渲染模式下,服务端把渲染的静态文件给到客户端,客户端拿到服务端发送过来的文件自己跑一遍 js,根据 JS 运行结果,生成相应 DOM,然 ...

  8. macOS Sierra 如何安装任何来源的软件

    为了安全性考虑,macos是要手动勾选来自任何来源的选项才可以安装第三方应用软件,系统升级后,在新的系统中这一项是默认不显示的,如果想要出现和这一勾选选项,可以从终端中输入 sudo spctl -- ...

  9. 剑指offer-数组中只出现一次的数字-数组-python

    题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字.   # -*- coding:utf-8 -*- class Solution: # 返回[a, ...

  10. 管理.MD

    ```` 对于水平低点的我一般是:讲解任务 -> 他复述任务 ->提出解决思路 -> 他复述思路 -> 认他思考一段时间,他提出他的意见和想法 -> 我再确定 -> ...