当前位置:  开发笔记 > 后端 > 正文

在不改变表结构的情况下,选择表中最后n行的最有效方法是什么?

如何解决《在不改变表结构的情况下,选择表中最后n行的最有效方法是什么?》经验,为你挑选了2个好方法。

使用mySQL选择表中最后n行的最有效方法是什么?该表包含数百万行,并且在任何给定时间我都不知道该表有多大(它在不断增长).该表有一个自动递增的列,并用作每行的唯一标识符.



1> Eran Galperi..:
SELECT * FROM table_name ORDER BY auto_incremented_id DESC LIMIT n



2> Sergey Telsh..:

实际上,按顺序获取最后n行的正确方法是使用子查询:

(SELECT id, title, description FROM my_table ORDER BY id DESC LIMIT 5) 
ORDER BY tbl.id ASC

因为这种方式是我所知道的,它将以正确的顺序返回它们.接受的答案实际上是" 从按降序ID排序的集合中选择前5行 "的解决方案,但这很可能是您需要的.


也许迟到了,但我刚从[这里]找到了(http://www.mysqlfaqs.net/mysql-faqs/Tricky-Select-Queries/How-to-get-last-top-records-in-asceding-你可以简单地省略外部select和别名,只需要:`(SELECT*FROM table ORDER BY id DESC LIMIT 50)ORDER BY id ASC;`虽然读起来可能有点混乱.
推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有