求环比增长率,要用到偏移函数,那么什么是偏移函数呢?
lead()
函数,它用于访问结果集中当前行的下一行的数据
lag()
函数用于访问结果集中当前行的前一行的数据。
怎么求环比增长率,同比增长率?
例题:
求环比增长率
建表,插入数据,查询表
drop database if exists db_1; create database db_1; use db_1; -- 创建表 CREATE TABLE sales_data ( month VARCHAR(7) NOT NULL, sales INT NOT NULL, PRIMARY KEY (month) ); -- 插入数据 INSERT INTO sales_data (month, sales) VALUES ('2023-01', 1000), ('2023-02', 1100), ('2023-03', 1050), ('2023-04', 1200), ('2023-05', 1150); select * from sales_data;
实现
# 目标: 求环比增长率 = (当前月销量 - 上一月销量) / 上一月销量 * 100 select month, sales, lag(sales, 1, 0) over(order by month) as lag_1_sales, concat(round((sales - (lag(sales, 1) over(order by month))) / (lag(sales, 1) over(order by month)) * 100, 1), '%') as rate_3 from sales_data ;
动手试试吧~
今天的文章 求环比增长率,同比增长率--(窗口函数)分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/98847.html