此查询是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中需要这个查询。你可以帮助我。
答案 0 :(得分:0)
LIMIT
。
如果您想获得表格的前x行,则必须使用TOP
,如SELECT TOP (10) * FROM tbl1
中所示。
要执行偏移等效,有一些技术,例如将子查询添加到结果集中的ROW_NUMBER()
,以及在父查询中过滤所需的偏移量。
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