升序选择最后20个订单-PHP/MySQL [英] Select last 20 order by ascending - PHP/MySQL
本文介绍了升序选择最后20个订单-PHP/MySQL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我的表结构
MyTable
ID[P.K][auto increment] TopicID UID Comment
现在,我想获取一个TopicID的最后20条评论,但是应该以升序排列!
Now i want to get the last 20 comment for a TopicID but it should be sorted in ascending order !
[就像Facebook默认情况下一样,仅显示最后20条评论]
[Just like Facebook by default shows last 20 comment only]
我正在寻找一个优化的版本,我可以使用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个结果,结果应为
I want to get the last 3 result for a TopicID, the result should be
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个条目.然后按升序对它们进行排序.您可以在单个查询(带有子查询)中轻松完成此操作:
First, select last 20 entries. Then sort them in ascending order. You can easily do this in a single query (with subquery):
select * from (
select * from your_table order by id desc limit 20
) tmp order by tmp.id asc
这篇关于升序选择最后20个订单-PHP/MySQL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文