环比就是今年第

n

月与第

n-1

月或第

n+1

月比;同比就是今年第

n

月与去年第

n

月比。

建测试表,假设是个销售数量表:

create table t (dt date,cnt number);

随便插入些测试数据,最后表的内容如下:

DT CNT

---------- ----------

2012-02-09 15

2012-02-21 2

2012-03-23 1

2012-03-23 5

2012-04-23 2

2012-05-12 20

2012-07-01 20

2012-07-21 20

显示环比,如果某个月没有销售,就有点儿麻烦。

先想个办法,显示本年度的

1

12

月,有个很有技巧的技术来实现:

SQL> set pagesize 20

SQL> with m as (select '2012-'||lpad(rownum,2,'0') v from dual connect by level<=12)

select *

from m;

V

---------

2012-01

2012-02

2012-03

2012-04

2012-05

2012-06

2012-07

2012-08

2012-09

2012-10

2012-11

2012-12

接下来就容易了,两个表外连,使用

lag

统计函数就可以了。

with m as (select '2012-'||lpad(rownum,2,'0') v from dual connect by level<=12)

select m.v "

月份

",nvl(sum(t.cnt),0) "

销售数量

",

lag(nvl(sum(t.cnt),0),1) over (order by m.v) "

上月销量数量

",

nvl(sum(t.cnt),0)-lag(nvl(sum(t.cnt),0),1) over (order by m.v) "

环比增加量

",

round((case

when

nvl(sum(t.cnt),0)=0

then

null

else

(nvl(sum(t.cnt),0)-lag(nvl(sum(t.cnt),0),1)

over (order by m.v))/nvl(sum(t.cnt),0) end)*100,1) "

环比增加比例

(%)"

sql 按照天环比_同比环比sql实例相关推荐

  1. sql datetime字段 取年月日_写一手好SQL,你该从哪里入手?

    有时候我们会遇到:在查询sql的时候,假如有100w条数据,会出现慢sql告警,这个时候你就应该到处sql日志来查找原因了.这里很有可能的主要原因就是没有命中索引和没有分页处理(原因有很多种,主要分析 ...

  2. sql server ssl安全错误_渗透测试 丨 SQL注入的攻与防

    " 注入攻击漏洞,例如SQL,OS以及LDAP注入.这些攻击发生在当不可信的数据作为命令或者查询语句的一部分,被发送给解释器的时候.攻击者发送的恶意数据可以欺骗解释器,以执行计划外的命令或者 ...

  3. sql 获取数据库字段信息_使用DBATools获取SQL数据库详细信息

    sql 获取数据库字段信息 In the series of articles on DBATools, (see TOC at the bottom) we are exploring useful ...

  4. sql优化基数和耗费_基数估计在SQL Server优化过程中的位置

    sql优化基数和耗费 In this blog post, I'm going to look at the place of the Cardinality Estimation Process i ...

  5. sql数据库备份默认路径_在Linux上SQL Server中更改默认数据库文件和备份路径

    sql数据库备份默认路径 In a previous article, we explored the process to change default SQL dump file location ...

  6. python约瑟夫环问题_约瑟夫环问题的Python实现

    约瑟夫斯问题(有时也称为约瑟夫斯置换),是一个出现在计算机科学和数学中的问题.在计算机编程的算法中,类似问题又称为约瑟夫环. 有 个囚犯站成一个圆圈,准备处决.首先从一个人开始,越过 个人(因为第一个 ...

  7. java约瑟夫环 循环链表_约瑟夫环_循环链表JAVA解答

    编写测试案例 public class Cicle { @Test public void test() { LinkedList linkedList = new LinkedList(); lin ...

  8. 怎么会执行sql 懒加载 没用_太神奇的 SQL 查询经历,group by 慢查询优化!

    作者:dijia478 来源:https://www.cnblogs.com/dijia478/p/11550902.html 一.问题背景 现网出现慢查询,在500万数量级的情况下,单表查询速度在3 ...

  9. 写一个sql实现以下查询结果_书写高质量SQL的30条建议

    以下文章来源:后端程序员必备:书写高质量SQL的30条建议 1.查询SQL尽量不要使用select *,而是select具体字段. 反例子: select * from employee; 正例子: ...

  10. sql 两表数据合并_多表查询SQL语句

    本篇文章中主要讲述以下内容: 一.表的加法 合并两张表的过程: 然后运用sql语句: select 课程号,课程名称 from course union select 课程号,课程名称 from co ...

最新文章

  1. Win7屏幕键盘 在哪 使用
  2. String类中的equals方法与Object类中的equals方法的不同点
  3. 鼠标形状 - - -放大镜 五指小手
  4. java 6 update 3_Java(TM) 6 Update(java运行环境) V 6.0.450.6 官方版
  5. 双亲委托类加载机制_图解JVM类加载机制和双亲委派模型
  6. Bailian1192 最优连通子集【DFS】
  7. 安防行业相关标准、法律及规划一览
  8. Hibernate的HibernateUtil类补充
  9. CentOS之命令方式安装向日葵与内网穿透
  10. 【合天网安】SQLi-Labs系列之数字型报错注入
  11. 计算任意2个日期内的工作日(没有考虑到国定假日
  12. 人工智能算法(一)进化算法
  13. 移动端框架之mand-mobile
  14. hexo的yilia主题之添加Valine评论系统
  15. php waf 搭建,如何构建属于自己的nginx waf防火墙 VeryNginx
  16. java 节气_java计算某个日期是什么节气(24节气)
  17. 非递归前序遍历二叉树,非递归中序遍历二叉树,非递归后续遍历二叉树
  18. SEO优化之og:标签
  19. uniapp 做的一个房贷计算器
  20. 线性代数导论23——微分方程和exp(At)

热门文章

  1. ubuntu16.04Django环境的搭建
  2. 编译项目时报出已经定义了构造器
  3. 正在升级android s8,国行版三星S8/S8+再添新操作 升级安卓8.0
  4. 水晶报表导出PDF or Excel,并返回文件到用户的IE浏览器中
  5. 软件项目管理 6.5.自下而上估算法
  6. codeforces每日5题(均1500)-第十七天
  7. 阴阳师1月服务器维护,阴阳师1月15日更新维护公告 鬼童丸降临平安京
  8. 使用Druid SQL Parser解析SQL
  9. ThreatScan-免费的网站在线安全检测平台_TScan
  10. 向量法计算体积的思路(没有代码了)