1

我有一个基数 30000 和大约 5 行,其中每一行都有不同的数字,我想从查询中的基数中减去它们。

我想实现结果列:

 ID| num  | result
 1 | 1000 | 29000
 2 | 1200 | 27800
 3 | 2100 | 25700
 4 | 4300 | 21400
 5 | 1100 | 20300
4

2 回答 2

1
SET @num := 0;
SELECT 
  id,
  num,
  IF(@num = 0,@num := (30000 - num) , @num := (@num - num)) AS `Result`
FROM
  `mytable` 

演示

于 2013-01-09T07:34:55.127 回答
0

试试这个:

SELECT id, num, (30000 - @sum:=@sum+num) AS Result
FROM mytable, (SELECT @sum:= 0) AS A

检查这个SQL FIDDLE 演示

于 2013-01-09T08:01:03.737 回答