1

我有一个查询将产生 10 或 20 或任意数量的行。下面是查询。

select bookname from bookstore where recommend='true' and Year(pubdate)='2013'

这个查询可以给我任意数量的行。

但我必须从结果中只显示 4 行。我可以选择前 4 名,但我想随机选择,这样每次访问时都不会在一年中为用户显示相同的书名。

请帮助我如何从结果中获取随机行。

4

2 回答 2

3
SELECT TOP 4 bookname 
FROM   bookstore 
WHERE  recommend = 'true' AND
       Year(pubdate)='2013'
ORDER  BY NEWID()
于 2013-05-05T09:42:14.920 回答
-2
select 
   bookname 
from 
   bookstore 
where 
   recommend='true' and 
   Year(pubdate)='2013' 
order by 
   rand() 
limit 4

编辑:对于 slq-server 使用newid()而不是rand()

于 2013-05-05T09:42:11.590 回答