ZBLOG

mysql 5.7对某一字段进行历史累计值

可以使用MySQL的用户定义变量和内置函数来计算历史累计值。

假设有一个表叫 “sales”,包含以下字段:

  • id (INT)
  • date (DATE)
  • sales_amount (DECIMAL)

现在想要计算每一天的历史累计销售额。可以按照以下步骤进行操作:

  1. 使用ORDER BY将数据按日期排序
SELECT * FROM sales ORDER BY date;
  1. 使用用户定义变量 @total_sales 来保存累计总销售额,并使用内置函数 IFNULL() 避免第一行出错
SET @total_sales := 0;
SELECT id, date, sales_amount, (@total_sales := @total_sales + IFNULL(sales_amount, 0)) AS cumulative_sales
FROM sales
ORDER BY date;

这个查询会返回以下结果:

id date sales_amount cumulative_sales
1 2020-01-01 100 100
2 2020-01-02 200 300
3 2020-01-03 NULL 300
4 2020-01-04 150 450
5 2020-01-05 NULL 450
6 2020-01-06 300 750

注意:如果销售额为NULL,则累计销售额不会增加。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=591

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?