2012-06-21 36 views
0

在我的数据库中我有产品表(ID int,...,Sponsored Links) 我的目标是能够从表中获得20个随机产品。赞助商必须先退回。如果有少于20个赞助产品,我可以获得20个产品的随机非赞助产品。TSQL:在单个查询中选择特色产品

我可以在一个选择中做到这一点吗?或者如果没有人选择尽可能高效。

回答

1
declare @a table (ID int, Sponsored bit) 

insert @a values(1, 1) 
insert @a values(2, 0) 
insert @a values(3, 0) 

select top 20 * from @a order by sponsored desc, newid()