sql - mysql limit x, y 等同于SQL Server l?

标签 sql sql-server

我需要在网页上编写寻呼机代码,通常使用 mysql 是 SELECT with LIMIT 60, 20 的简单解决方案,这意味着从 60 个位置选择 20 行。

现在我正在使用 SQL Server,但应该解决这个问题 - 我知道 TOP 语法不合适,我也听说过 SQL Server 中的 ROW_NUMBER() 函数,但是我发现的示例不够清楚 - 请在测试表上提供帮助,例如“汽车”以简单地

select * from cars limit 20, 10

最佳答案

ROW_NUMBER() 不能在您的 where 子句中,因此您必须使用单独的选择:

select *
from (select row_number() over (ORDER BY cars.CarId) as Row, *
    from cars
    ) temp
where Row between 20 and 29

关于sql - mysql limit x, y 等同于SQL Server l?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6578643/

相关文章:

sql - HQL 与 SQL/Hibernate netbeans HQL 编辑器

php 和 mysql 从 mysql 选择 5 行

sql - 当多个记录对 "Order By"子句中定义的列具有相同值时,是否存在从数据库返回的隐式行顺序?

c# - 将字符串转换为日期时间的问题

sql-server - 同一服务器上的两个 DbContext 抛出 : This platform does not support distributed transactions

php - 用户名已被使用

sql - 将varchar转换为具有毫秒的sql中的日期时间

sql - 在不知道 Oracle 名称的情况下删除索引或约束

sql - 在事务提交之前,在事务中进行的插入是否可以通过 SELECT 看到

sql-server - 对于 XML AUTO、原始 SQL Server