是否可以使用常量值递增最后一行?我想收到这样的回复:
Date | Value
-------------------
2013-11-01 | 14.32
2013-11-02 | 15.32
2013-11-03 | 16.32
... | ...
我用Variables尝试过它:。
SET @INCREMENT := '1.00';
SET @VALUE := '14.32';
SELECT `Date`, @VALUE + @INCREMENT
FROM `table`
WHERE `Date` > '2013-11-01'
但是这只显示了row2中的一个常量值。
答案 0 :(得分:1)
我想你要重置每一行的值:
SET @INCREMENT := '1.00';
SET @VALUE := '14.32';
SELECT `Date`, (@VALUE := @VALUE + @INCREMENT) as value
FROM `table`
WHERE `Date` > '2013-11-01';
通常,当您执行此操作时,您将拥有order by
子句,以确保按照您希望的顺序返回行。
答案 1 :(得分:0)
不确定你的意思是这个,但这似乎是最合乎逻辑的...... 假设您有一个包含日期和值的现有表
SET @INCREMENT = 1.00;
SELECT
Date "date"
, (Value + @INCREMENT) "value"
FROM
table
WHERE
Date > '2013-11-01'
ORDER BY
Date ASC
甚至更好(因为您不需要用户变量的“开销”来计算运行时间)
SELECT
Date "date"
, (Value + 1.00) "value"
FROM
table
WHERE
Date > '2013-11-01'
ORDER BY
Date ASC