Sql server 2008 SQL Server 2008使用LIMIT关键字无法工作
这个查询是MySqlSql server 2008 SQL Server 2008使用LIMIT关键字无法工作,sql-server-2008,Sql Server 2008,这个查询是MySql select a.id, a.name, a.vehicle, a.amt, a.date (select id from tbl1 where date < a.date and vehicle = a.vehicle LIMIT 0,1) as prv FROM root_tbl a WHERE amt <> 0 我需要SQL Server中的此查询。您能帮助我吗。SQL Se
select
a.id,
a.name,
a.vehicle,
a.amt,
a.date
(select id
from tbl1
where date < a.date and vehicle = a.vehicle
LIMIT 0,1) as prv
FROM
root_tbl a
WHERE
amt <> 0
我需要SQL Server中的此查询。您能帮助我吗。SQL Server不支持限制
如果要获取表的前x行,必须使用TOP,如从tbl1中选择TOP 10*
要实现偏移量等效,有几种技术,例如子查询向结果集中添加行数,以及在父查询中按筛选所需偏移量
SELECT *
FROM (
SELECT
id,
ROW_NUMBER() OVER (ORDER BY id) AS RowNum
FROM tbl1
) T
WHERE RowNum BETWEEN 51 AND 75 -- Similar to LIMIT 50,25
对于您的特定查询,您似乎只需要一个TOP就可以实现最高效的查询,因此以下内容适用于您的查询
select
a.id,
a.name,
a.vehicle,
a.amt,
a.date
(select top (1) id from tbl1 where date < a.date and vehicle=a.vehicle)as prv
FROM tbl1 a
LIMIT是MySQL中使用的一个非ANSI标准兼容的自定义扩展,在SQL Server中不存在。您需要使用SELECT TOP n。。。。。