在mysql中显示行号

问题描述 投票:1回答:3

我有这样的用户表。还有以下两个字段是固定的。 userId是主键。

userId    name
898        abc
900        xyz
902        rrr
904        wer

如果我获取特定的userid,那么结果应显示为行号。例如userid 902然后结果应该显示3

怎么写SQL查询?

mysql row-number
3个回答
1
投票

试试这个

    SET @a:=0;

    SELECT  @a:=@a+1 serial_number, 
          userId, name 
    FROM users;

这是SQL Fiddle

N.B-虽然您应该将PK作为自动增量添加到表中,不仅要获取序列号,还要为表添加索引以更快地获取记录


0
投票

试试这个

set @row_num = 0; 
SELECT user_id,name, @row_num := @row_num + 1 as index FROM tablename
ORDER BY user_id desc;

-1
投票

更容易出路。

$row_number = 1;
$sql = "SELECT column1, column2 ORDER BY column1";
$result = mysqli_query($conn, $sq1);

while($row = mysqli_fetch_row($result))
{

echo "<tr><td>".$row_number++."</td><td>".$row['0']."</td><td>".$row['1']."</td> 
</tr>";
}
© www.soinside.com 2019 - 2024. All rights reserved.