2011-08-18 43 views
1

从一组有序的浮点值(顺序很重要)开始,可以使用一个简单的查询来检索浮点值。我想用存储过程计算值的顺序差异。例如,使用MySql存储过程减去顺序值

如果我们有值

1,3,7

结果应该是

2,4

什么是一个做到这一点的最简单方法存储过程(Mysql 5)?

回答

3

像这样的东西可能会奏效:

CREATE TEMPORARY TABLE x (seq int); 
INSERT INTO x VALUES (1), (3), (7); 
SET @dif = 0; 
SELECT seq - @dif, @dif:=seq FROM x ORDER BY seq; 
+0

我应该说这一点,但值是浮动。 – Navi

+0

相同的例程工作 - 只需将'int'更改为'float'即可。您可能需要对结果进行一些调整。 –

+0

它的工作表示感谢。将int更改为float并将其插入到x select .. – Navi