MySQL - 返回值= 3的行号

时间:2018-05-05 14:20:29

标签: mysql where row-number

我想使用MySQL查询返回所有匹配特定值的行号。

我已经尝试了以下内容:

SELECT t.*, @rownum := @rownum + 1 AS rank FROM `TABLE` t, (SELECT @rownum := 0) r

这将返回存储在表“TABLE”中的所有值,并带有一个显示行号的附加列“rank”。

那么我如何调整此代码段以仅获取“rank”列,以及如何获得对该MySQL请求的“where column1 = 3”查询?

感谢您提前帮助!

2 个答案:

答案 0 :(得分:1)

将代码放在子查询中,并在主查询中测试您想要的内容。

SELECT rank
FROM (
    SELECT t.*, @rownum := @rownum + 1 AS rank 
    FROM `TABLE` t, (SELECT @rownum := 0) r
) AS x
WHERE column1 = 3

答案 1 :(得分:0)

那么我如何调整此代码段以仅获取“排名”列:

SELECT @rownum := @rownum + 1 AS rank FROM `TABLE` t, (SELECT @rownum := 0) r