2

我有一张没有 PK 列的表。我不应该改变这一点。还有一个数字列可用于对行进行排序。如何在不使用任何函数(即与数据库无关的查询)的情况下选择前 1 行或前 n 行?

我查看了这个查询,但它不适用于我的情况 - 是否有一个与数据库无关的 SQL 查询来获取前 N 行?

4

1 回答 1

2

根据您链接到的线程,没有太多与数据库无关的解决方案:

  • DB2——select * from table order by col fetch first 10 rows only
  • Informix——select first 10 * from table order by col
  • Microsoft SQL Server 和 Access --select top 10 * from table order by col
  • MySQL 和 PostgreSQL——select * from table order by col limit 10
  • 甲骨文 8i --select * from (select * from table order by col) where rownum <= 10

http://forums.mysql.com/read.php?60,4515,4678

于 2013-06-12T08:33:33.837 回答