我想学习一些(理想情况下)与数据库无关的方法,从数据库表中 Select 第n行.看看如何使用以下数据库的本机功能实现这一点也很有趣:
- SQL Server
- MySQL
- PostgreSQL
- 数据库
- 神谕
我目前正在SQL Server 2005中执行类似于以下的操作,但我有兴趣了解其他更不可知论的方法:
WITH Ordered AS (
SELECT ROW_NUMBER() OVER (ORDER BY OrderID) AS RowNumber, OrderID, OrderDate
FROM Orders)
SELECT *
FROM Ordered
WHERE RowNumber = 1000000
上述SQL的学分:Firoz Ansari's Weblog
Update:关于SQL标准,请参见Troels Arvin's answer.Troels, have you got any links we can cite?