重新排序Mysql查询结果

Jas*_*son 2 php mysql

我有以下mysql查询,其中Id是从1,2 ...到450等自动递增的主键.

$query = "SELECT Id, PromA, PromB, PromC FROM Promtab Order by Id DESC Limit 200"; 
$aresult = $con->query($query);
Run Code Online (Sandbox Code Playgroud)

以及以下PHP代码段:

<?php
while($row = mysqli_fetch_assoc($aresult)){
    echo "[".$row["Id"].", ".$row["PromA"].",".$row["PromB"].",".$row["PromC"]."],";
}
?>       
Run Code Online (Sandbox Code Playgroud)

当我使用当前查询和PHP代码时,我得到结果(IdData DESC order):

    Id,  PromA, PromB, PromC
    450   230    220    200
    449   150    140    180
    448   221    70     145
    .
    .
    1     120    110    105
Run Code Online (Sandbox Code Playgroud)

我需要的是这个(仅限Id ASC order数据顺序不会改变):

    Id,  PromA, PromB, PromC
     1   230    220    200
     2   150    140    180
     3   221    70     145
     .
     .
    450    120    110    105
Run Code Online (Sandbox Code Playgroud)

我怎么能这么做呢?

谢谢.

Ale*_*s G 8

如果我理解正确,您不希望看到针对行的实际ID,而只是从1到200(您有LIMIT 200)的数字序列号.在这种情况下,你可以做的是这样的:

$query = "SELECT PromA, PromB, PromC FROM Promtab Order by Id DESC Limit 200"; 
$aresult = $con->query($query);

$id = 1;
while ($row = mysqli_fetch_assoc($aresult)) {
    echo "[" . ($id++) . ", {$row['PromA']}, {$row['PromB']}, {$row['PromC']}]";
}
Run Code Online (Sandbox Code Playgroud)