2013-08-27 40 views
0

您好我有下面的查询返回开始日期表中下一个开始日期的数据,我期望做的是拉数据为接下来的2个开始日期。任何人都可以帮助我吗?我编辑过,以显示我遇到问题的具体部分,而不是提供整个查询,请记住这是一个子查询。SQL前2条记录/值

(a1.expstartdate = (select min(startdate) 
from cstreprts.dbo.startdates 
where startdate+15 > @asofdate and sycampusid = a1.sycampusid) 
    or a1.startdate = (select min(startdate) 
from cstreprts.dbo.startdates where startdate+15 > @asofdate 
and sycampusid = a1.sycampusid)) 
+1

你应该尝试查询简化其最小表达(至少对于这个问题)。 –

回答

2

您可以LIMIT您收到的金额。如果你ORDER BY降序价值LIMIT只会让你回到你的前2名的结果。

只需ORDER BY然后LIMIT 2

简单例子

SELECT start_date 
FROM start_date_table 
ORDER BY start_date DESC 
LIMIT 2;