如何判断数据是上升还是下降

【问题】

       有一组数据,
date_1    count_1
2014-12-01   1
2014-12-02   3
2014-12-03   5
2014-12-04   3
2014-12-05   2
2014-12-06   1
2015-01-01   5
2015-01-02   4
2015-01-03   3
怎么写SQL判断出,数据是上升还是下降状态?
希望结果
date_1    count_1   status_1
2014-12-01   1       上升
2014-12-02   3      上升
2014-12-03   5      上升
2014-12-04   3      下降
2014-12-05   2      下降
2014-12-06   1      下降
2015-01-01   5      上升
2015-01-02   4      下降
2015-01-03   3      下降
谢谢!

【回答】

  在MSSQL中可以先通过窗口函数和上一条记录比较,可以这样写:

select date_1,count_1, case when count_1 > lag(count_1) over ( order by date_1 )  then '上升 ' else ' 下降 ' end  'status_1' from tb

  但 SQL SERVER 的某些版本不支持 lag 函数,这时就得用造序号后自连接的方法,造序号时可以不用窗口函数,用个子查询计行号即可,适

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值