MySQL - return 行号,其中值=3

MySQL - return row number where value=3

我想使用 MySQL 查询,其中 returns 所有与特定值匹配的行号。

我已经尝试过以下内容:

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

此 returns 所有值都存储在 table "TABLE" 中,另外还有一列 "rank" 显示行号。

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

感谢您的提前帮助!

那么我该如何调整此代码片段以仅获取 "rank" 列:

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

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

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