码迷,mamicode.com
首页 > 数据库 > 详细

mysql累加、累减

时间:2019-12-31 17:06:14      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:div   mamicode   inf   ble   null   sel   sql   utf8   key   

累加

先上表结构:

CREATE TABLE `abc` (
  `jidu` int(11) NOT NULL AUTO_INCREMENT,
  `jine` int(11) DEFAULT NULL,
  PRIMARY KEY (`jidu`)
) ENGINE=InnoDB AUTO_INCREMENT=14270 DEFAULT CHARSET=utf8;

数据:

INSERT INTO `abc` (`jidu`, `jine`) VALUES (1, 100);
INSERT INTO `abc` (`jidu`, `jine`) VALUES (2, 200);
INSERT INTO `abc` (`jidu`, `jine`) VALUES (3, 300);
INSERT INTO `abc` (`jidu`, `jine`) VALUES (4, 300);

想要的结果为季度金额的累加值:

技术图片

 

 

 

这里利用错位自关联来实现,先看关联效果

select * from abc a JOIN abc b ON a.jidu >= b.jidu;

技术图片

 

 

 下面就好办了,实现语句为:

select a.jidu,a.jine,sum(b.jine) as leiji
from abc a JOIN abc b ON a.jidu >= b.jidu 
GROUP BY a.jidu ORDER BY jidu;

 

累减

还是上面那个表,要的结果为每季度的金额差额:

技术图片

 

 

 还是自关联,先看关联效果:

select * from abc a left JOIN abc b ON a.jidu = b.jidu+1 ORDER BY a.jidu;

技术图片

 

 实现的sql:

select a.jidu,a.jine,ifnull(a.jine-b.jine,a.jine) as cha 
from abc a left JOIN abc b ON a.jidu = b.jidu+1 ORDER BY a.jidu;

完事,如有不对的地方请指正。

mysql累加、累减

标签:div   mamicode   inf   ble   null   sel   sql   utf8   key   

原文地址:https://www.cnblogs.com/wangb2/p/12125334.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!