当前位置: 首页 > 面试题库 >

升序选择最后20个订单-PHP / MySQL

魏刚豪
2023-03-14
问题内容

这是我的表结构

MyTable
ID[P.K][auto increment]   TopicID   UID   Comment

现在,我想获取TopicID的最后20条评论,但应该以升序排列!

[就像Facebook默认情况下一样,仅显示最后20条评论]

我正在寻找一个优化的版本,我可以使用2/3查询和php sort数组来做到这一点,但是正在寻找更好的选择

Sample Result with data

MyTable  
ID TopicID UID Comment  
1  1       10  AAAA   
2  1       11  BBBB  
3  1       10  CCCC  
4  1       10  dddd   
5  1       11  EEEE  
6  1       10  FFFF

我想获取TopicID的最后3个结果,结果应为

4  1       10  dddd   
5  1       11  EEEE  
6  1       10  FFFF

并不是

6  1       10  FFFF  
5  1       11  EEEE  
4  1       10  dddd

问题答案:

首先,选择最后20个条目。然后按升序对它们进行排序。您可以在单个查询(带有子查询)中轻松完成此操作:

select * from (
    select * from your_table order by id desc limit 20
) tmp order by tmp.id asc


 类似资料:
  • 问题内容: 我的目标是在最后一个CSS上使用CSS ,但是这样做不是。 如何 只 选择最后一个孩子? 问题答案: 该伪类仍然无法可靠地跨浏览器使用。特别是,InternetExplorer<9和Safari<3.2绝对不支持它,尽管Internet Explorer 7和Safari 3.2 确实 支持。 最好的选择是向该项目显式添加一个(或类似的)类,然后应用。

  • 问题内容: 我正在插入一条记录,我想使用插入的最后一条记录的ID。这是我尝试过的: 我收到错误消息: SQL语法错误;请查看与您的MySQL服务器版本相对应的手册,以在“ SELECT LAST_INSERT_ID()”附近使用正确的语法。谁能告诉我我的错误在哪里?谢谢! 问题答案: 签出mysql_insert_id() 在mysql_query()命令中执行INSERT语句后运行该函数时,其结

  • 明哈塔贝拉 ============================================== Precisoque a query我回答: Ou seja,alterne dentre os tipos de senhas(PrioritÁrio/NORMAL)在tenha mais Prioritários pra pra ser Chamado。 Sistema rodando e

  • 问题内容: 我想在名为 id的 列( 主键)中 从MySQL数据库中选择最后50行。目标是行应该被分类 ID 在 ASC 秩序,这就是为什么这个查询不工作 同样值得注意的是,可以对行进行操作(删除),这就是为什么以下查询也不起作用的原因 问题 :如何从MySQL数据库中检索可以操纵并按ASC顺序排列的最后N行? 问题答案: 您可以使用子查询来做到这一点: 这将从中选择 最后 50行,然后按升序对其

  • 本文向大家介绍PHP简单选择排序算法实例,包括了PHP简单选择排序算法实例的使用技巧和注意事项,需要的朋友参考一下 简单的选择排序算法:通过n-i次关键字间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i(1<=i<=n)个记录交换 简单选择排序的特点:交换移动数据次数相当少,从而节约了相应的时间 简单选择排序的时间复杂度分析: 无论最好最差的情况,其比较次数都是一样多,第i趟排序需要进