如何按日期返回最后5行

 帕格迪奥 发布于 2023-02-14 01:50

如何从最旧到最新排序的表中返回最近5行(按日期).

IE

$query = mysqli_query($connect,"SELECT * FROM posts
WHERE postid like '$topic_id'
ORDER BY postdate DESC LIMIT 5");

返回:

reply 10
reply 9
reply 8
reply 7
reply 6

和:

$query = mysqli_query($connect,"SELECT * FROM posts
WHERE postid like '$topic_id'
ORDER BY postdate ASC LIMIT 5");

返回:

reply 1
reply 2
reply 3
reply 4
reply 5

我怎么回来?

reply 6
reply 7
reply 8
reply 9
reply 10 

Barmar.. 6

使用子查询获取最新的行,然后在主查询中以其他方式对其进行排序.

SELECT *
FROM (SELECT * FROM posts
      WHERE postid like '$topic_id'
      ORDER BY postdate DESC LIMIT 5) x
ORDER BY postdate ASC

回答不可避免的问题,x是子查询的别名,因为MySQL要求连接中的所有子查询都用别名命名.

1 个回答
  • 使用子查询获取最新的行,然后在主查询中以其他方式对其进行排序.

    SELECT *
    FROM (SELECT * FROM posts
          WHERE postid like '$topic_id'
          ORDER BY postdate DESC LIMIT 5) x
    ORDER BY postdate ASC
    

    回答不可避免的问题,x是子查询的别名,因为MySQL要求连接中的所有子查询都用别名命名.

    2023-02-14 02:32 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有