我想使用一个MySQL查询,它返回与某个值匹配的所有行号。
我已经进行了以下尝试:
SELECT t.*, @rownum := @rownum + 1 AS rank FROM `TABLE` t, (SELECT @rownum := 0) r
这将返回存储在表"TABLE"中的所有值,并带有显示行号的附加列"rank"。
那么我如何调整此代码片段以仅获取"rank"列以及如何获取对该MySQL请求的"where column1 = 3"查询?
感谢您提前提供帮助!
将代码放在子查询中,并在主查询中测试所需的内容。
SELECT rank
FROM (
SELECT t.*, @rownum := @rownum + 1 AS rank
FROM `TABLE` t, (SELECT @rownum := 0) r
) AS x
WHERE column1 = 3
那么我如何调整这个代码片段以仅获取"排名"列:
SELECT @rownum := @rownum + 1 AS rank FROM `TABLE` t, (SELECT @rownum := 0) r