我想使用MySQL查询返回所有匹配特定值的行号。
我已经尝试了以下内容:
SELECT t.*, @rownum := @rownum + 1 AS rank FROM `TABLE` t, (SELECT @rownum := 0) r
这将返回存储在表“TABLE”中的所有值,并带有一个显示行号的附加列“rank”。
那么我如何调整此代码段以仅获取“rank”列,以及如何获得对该MySQL请求的“where column1 = 3”查询?
感谢您提前帮助!
答案 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