我有一个表格如下所示
id | color
---|-----
1 | red
2 | pink
3 | blue
4 | violet
5 | yellow
我有这个问题
$query = "SELECT * FROM colors WHERE id='".$rowId."' ORDER BY id DESC LIMIT 3";
$result = $db->query($query);
while ($row = $result->fetch_assoc()) {
echo $row['id']."-";
echo $row['color'];
}
相应地显示结果
5 - yellow
4 - violet
3 - blue
当我使用 ORDER BY id ASC LIMIT 3
它显示从顶部开始的 3 个结果
1 - red
2 - pink
3 - blue
我想要的是按 ASC 顺序显示前 3 个底部
3 - blue
4 - violet
5 - yellow
所以如果我更新表格并添加一个新行,它应该显示为
4 - violet
5 - yellow
6 - green
最佳答案
然后像这样使用子查询:
SELECT
*
FROM
(SELECT * FROM colors WHERE id=$rowId ORDER BY id DESC LIMIT 3) AS internal
ORDER BY
id ASC
关于mysql - 如何在MYSQL中按升序显示后3个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19356114/