php - MYSQL 从表中选择,获取表中最新/最后 10 行

标签 php mysql sql sql-order-by

最好、最简单的方法是什么?我目前的查询是:

  SELECT * 
    FROM chat 
   WHERE (userID = $session AND toID = $friendID) 
      OR (userID = $friendID AND toID = $session) 
ORDER BY id 
   LIMIT 10

不过这显示前 10 行,而不是后 10 行。

编辑:我想要最后 10 行(是的,DESC 这样做)但是我希望它们按升序返回。

最佳答案

要反转顺序(因此得到最后 10 个而不是前 10 个),请使用 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

关于php - MYSQL 从表中选择,获取表中最新/最后 10 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9424327/

相关文章:

php - 我正在尝试使用 php 删除 mysql 文件,这是按下删除后的代码,没有任何反应,有什么想法吗?

php - 使用 PHP 时的 CSS 布局问题包括

Mysql - 分组1到多连接

MySQL 查询将 0 添加到数据库但日志却另有说明?

PHP:有多少种使用 AJAX 格式化 MySQL 数据的方法

php - 根据用户输入的值进行 Elasticsearch 排序

mysql - 从表中选择 SUM 和唯一值的最佳方法

MySQL Query Order By Clause 花费太多时间

sql - 从 View 中的字符串转换日期和/或时间时转换失败

mysql - LEFT JOIN 某些值返回为 NULL