如何在mysql中使用(previousRowColA + 1)的值在查询结尾添加额外的行?

时间:2014-03-07 18:05:48

标签: mysql sql

我有一个包含数据的MySQL表,我正在选择“排名”:

SELECT (@rank:=@rank+1) AS 'value' FROM MYTable a INNER JOIN (SELECT @rank :=0) b

返回:

VALUE
1
2
3
4

因为有4行。但我想要一个查询,可以通过一个额外的行返回结果(即n + 1,其中n == totalNumberRows):

VALUE
1
2
3
4
5

我该怎么做?

1 个答案:

答案 0 :(得分:3)

UNION查询怎么样:

SELECT (@rank:=@rank+1) AS 'value'
FROM MYTable a
    INNER JOIN (SELECT @rank :=0) b
UNION ALL
SELECT (@rank+1);