select top 10 * from vw
where Date <
(select top 1 Date from vw where Aid=25 order by Date desc)
and Bid=(select top 1 Bid from vw where Aid=25) order by Date desc
where Date <
(select top 1 Date from vw where Aid=25 order by Date desc)
and Bid=(select top 1 Bid from vw where Aid=25) order by Date desc
select top 10 * from vw
where Date <
(select top 1 Date from vw where Aid=25 order by Date desc)
and Bid=(select top 1 Bid from vw where Aid=25 order by Date desc)
的。
where Date <
(select MAX(Date) from vw where Aid=25)
and Bid=(select top 1 Bid from vw where Aid=25)
order by Date desc
AID,BID,DATE加上索引试试
要不分开写
declare @date datetime , @id int
select top 1 @date=Date from vw where Aid=25 order by Date desc
select top 1 @id=Bid from vw where Aid=25
exec('select top 10 * from vw where Date < '+@date+' and bid='+@id+' order by Date desc')
同时最好了解自动参数化:
http://blog.csdn.net/downmoon/archive/2010/07/01/5708073.aspx