在mysql中显示行号

在mysql中显示行号,mysql,row-number,Mysql,Row Number,我有这样的用户表。下面两个字段是固定的。userId是主键 userId name 898 abc 900 xyz 902 rrr 904 wer 若我获取特定的userid,那个么结果应该显示为行号。 例如userid902,则结果应显示3 如何编写SQL查询?试试这个 set @row_num = 0; SELECT user_id,name, @row_num := @row_num + 1 as index FROM ta

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

userId    name
898        abc
900        xyz
902        rrr
904        wer
若我获取特定的
userid
,那个么结果应该显示为行号。 例如
userid
902
,则结果应显示
3

如何编写SQL查询?

试试这个

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

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

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

    SELECT  @a:=@a+1 serial_number, 
          userId, name 
    FROM users;
这是你的电话号码

N.B-尽管您应该将PK作为自动增量添加到表中,这不仅是为了获取序列号,而且是为了向表中添加索引以更快地获取记录,这是一种更简单的方法

$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>";
}
$row\u number=1;
$sql=“选择column1,column2按column1排序”;
$result=mysqli_查询($conn,$sq1);
while($row=mysqli\u fetch\u row($result))
{
回显“$row\U number++.”、$row['0']。“$row['1']”
";
}

@ahamedsakir我对答案做了一些修改。试试这个。这可能会帮助您在下面添加我的答案。它的可能副本始终返回1。选择@a:=@a+1序列号、用户ID、来自用户的名称,(选择@a:=0)作为其中的用户ID=902;它应该返回3,在比较特定id时不应该返回序列号……因为我们只是将序列号添加到查询的输出中……您需要的是数据库中不需要的额外列