一个sql问题的解决

有这么一个表

时间                  存/取款金额

2009-01-01 08:20:50     10000

2009-01-02 10:10:30     20000

2009-01-03 08:05:10     -5000

 

要求通过一条SQL语句查出下面结果(按时间排序,并自动算出余额一列)

 

时间                  存/取款金额  余额

2009-01-01 08:20:50     10000      10000

2009-01-02 10:10:30     20000      30000

2009-01-03 08:05:10     -5000      25000

 

DROP TABLE IF EXISTS `exchange_data`;
CREATE TABLE `exchange_data` (
  `exchangeTime` datetime NOT NULL,
  `money` int(11) NOT NULL,
  PRIMARY KEY (`exchangeTime`,`money`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of exchange_data
-- ----------------------------
INSERT INTO `exchange_data` VALUES ('2009-01-01 08:20:50', '10000');
INSERT INTO `exchange_data` VALUES ('2009-01-02 10:10:30', '20000');
INSERT INTO `exchange_data` VALUES ('2009-01-03 08:05:10', '-5000');

   下面是我给的sql:

  

select a.exchangeTime as '交易时间', a.money as '存取款金额', (
select sum(b.money) from exchange_data b where b.exchangeTime <= a.exchangeTime
) as '余额'
from exchange_data a
order by a.exchangeTime;

    

    但是由于个人sql水平比较弱一点,没有想到其他的。大家感兴趣的可以研究下。

 

 

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页