返回值为3的行号

jecbmhm3  于 2021-06-25  发布在  Mysql
关注(0)|答案(2)|浏览(372)

我想使用一个mysql查询,它返回与某个值匹配的所有行号。
我已经做了以下尝试:

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

这将返回存储在表“table”中的所有值,并有一个额外的列“rank”显示行号。
那么,如何使这个代码片段只获得“rank”列,以及如何获得对该mysql请求的“where column1=3”查询呢?
谢谢你提前帮忙!

kqlmhetl

kqlmhetl1#

将代码放在子查询中,并在主查询中测试所需的内容。

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

k0pti3hp2#

那么,如何调整此代码段以仅获取“rank”列:

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

相关问题