返回值为3的行号

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

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

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

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

kqlmhetl

kqlmhetl1#

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

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

k0pti3hp2#

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

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

相关问题