如何在SELECT语句中增加一行?

时间:2013-12-04 22:24:32

标签: mysql variables select increment

是否可以使用常量值递增最后一行?我想收到这样的回复:

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中的一个常量值。

2 个答案:

答案 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