TSQL:在单个查询中选择特色产品

时间:2012-06-21 11:28:01

标签: sql sql-server-2008 tsql

在我的数据库中我有产品表(ID int,...,Sponsored bool) 我的目标是能够从表中获得20个随机产品。赞助商品必须先退回。如果赞助产品少于20个,我可以获得随机非赞助产品,直到20个项目。

我可以选择一个吗?或者,如果不是一个选择尽可能高效。

1 个答案:

答案 0 :(得分: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()