今天开发遇见一件很麻烦的事情,就是取最近的十条数据,按照时间升序排列,常见的取法是取最近的数据,降序排列,使用的SQL语句是
select * from table1 order by datetime desc limit 0,10
然而使用上述的语句取出的数据是按照时间降序进行排列的,所以我们需要在后台程序中进行相应的处理,增加了后台程序的工作量;即将返回的结果集按照从后向前进行读取,可以得到需要的数据;
后来在网上看到一个网友给出的解决方案,觉得还是可以的;
select *from ( select * from table1 order by datetime desc limit 0,10 ) order by datetime
即将查询的结果作为一个中间表,然后再次进行查询;