什么是最好的,最简单的方法来做到这一点?我的查询当前是:
SELECT * FROM chat WHERE (userID = $session AND toID = $friendID) OR (userID = $friendID AND toID = $session) ORDER BY id LIMIT 10
这只显示了前10行,而不是最后10行。编辑:我想要最后10行(是的,DESC这样做),但是我希望他们以升序返回。
c3frrgcw1#
要颠倒顺序(因此获取最后10个而不是前10个),请使用DESC而不是ASC
DESC
ASC
编辑
基于您的评论:
SELECT * FROM ( SELECT * FROM chat WHERE (userID = $session AND toID = $friendID) OR (userID = $friendID AND toID = $session) ORDER BY id DESC LIMIT 10 ) AS `table` ORDER by id ASC
2eafrhcq2#
如果你想要最后的10个,那么只需将ASC更改为DESC
SELECT * FROM chat WHERE (userID=$session AND toID=$friendID) OR (userID=$friendID AND toID=$session) ORDER BY id DESC LIMIT 10
gg58donl3#
$con = mysqli_connect("localhost","my_user","my_password","my_db"); $limit = 10; $query = "SELECT * FROM $table"; $resource = mysqli_query($con,$query); $total_rows = mysqli_num_rows($resource); $start = $total_rows-$limit; $query_limit= $query." LIMIT $start,$limit";
首先我设定了限制
$limit = 10;
然后
$total_rows = mysqli_num_rows($resource);
在这里,我已经采取了受影响的行的总数。
$start = $total_rows-$limit;
然后从行数中减去限制以获取起始记录号
$query_limit= $query." LIMIT $start,$limit";
然后将限制添加到查询。有关限制的更多信息,请参阅此链接https://www.w3schools.com/php/php_mysql_select_limit.asp
vm0i2vca4#
首先从表中选择最后10个,然后按升序重新排序。
SELECT * FROM (SELECT * FROM table ORDER BY id DESC LIMIT 10) sub ORDER BY id ASC
4条答案
按热度按时间c3frrgcw1#
要颠倒顺序(因此获取最后10个而不是前10个),请使用
DESC
而不是ASC
编辑
基于您的评论:
2eafrhcq2#
如果你想要最后的10个,那么只需将ASC更改为DESC
gg58donl3#
首先我设定了限制
然后
在这里,我已经采取了受影响的行的总数。
然后从行数中减去限制以获取起始记录号
然后将限制添加到查询。有关限制的更多信息,请参阅此链接https://www.w3schools.com/php/php_mysql_select_limit.asp
vm0i2vca4#
首先从表中选择最后10个,然后按升序重新排序。