2012-06-21 94 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()