【sql查询数据增长下降趋势】

@sql查询数据增长下降趋势

一、示例:比较同去年相比是增加还是下降

在这里插入图片描述

1.自连接完成

SELECT S1.year, S1.sale, 
	 CASE WHEN S1.sale= S2.sa1e THEM '→'  
	 			WHEN S1.sale >S2.sa1e THEN '←'  
	 			WHEN S1.sale < S2.sa1e THEN '↓' 
	 			ELSE '--' END  AS var  
FROM Sales S1,Sales S2 
WHERE S2.year=S1.year -1 
ORDER BY year; 

2.关联子查询完成

--求出是增长了还是减少了,抑或是维持现状 ( 1 ): 使用关联子查询
--求出是增长了还是减少了,抑或是维持现状 ( 1 ): 使用关联子查询
SELECT
	S1.year,
	S1.sale,
CASE
		
		WHEN sale = ( SELECT sale FROM Sales S2 WHERE S2.year = S1.year - 1 ) THEN
		'→' --持平
		
		WHEN sale > ( SELECT sale FROM Sales S2 WHERE S2.year = S1.year - 1 ) THEN
		'个' -增长 
		WHEN sale < ( SELECT sale FROM Sales S2 WHERE S2.year = S1.year - 1 ) THEN
		'↓' --减少
		ELSE '-' 
	END AS var 
FROM
	Sales S1 
ORDER BY
	YEAR;

3.结果

在这里插入图片描述

二、示例: 上例中的特殊情况——年份缺失,与最近年对比趋势

在这里插入图片描述

1. 关联子查询

--求每一年与过去最临近的年份之间的营业额之差 ( 1 ):结果里不包含 最早的年份
SELECT
	S2.year AS pre_year,
	S1.year AS now_year,
	S2.sale AS pre_sale,
	S1.sale AS now_sale,
	S1.sale - S2.sale AS diff 
FROM
	Sales2 S1,
	Sales2 S2 
WHERE
	S2.year=( SELECT MAX ( YEAR ) FROM Sales2 S3 WHERE S1.year > S3.year ) 
ORDER BY
	now_year;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值