我有一个查询,将产生10或20或任意数量的行。以下是查询。
select bookname from bookstore where recommend='true' and Year(pubdate)='2013'
此查询可以为我提供任意数量的行。
但我必须从结果中只显示4行。我可以选择前4名,但我想随机选择,这样每次访问时用户都不会显示相同的书名。
请帮助我如何从结果中获取随机行。
答案 0 :(得分:2)
SELECT TOP 4 bookname
FROM bookstore
WHERE recommend = 'true' AND
Year(pubdate)='2013'
ORDER BY NEWID()
答案 1 :(得分:-2)
select
bookname
from
bookstore
where
recommend='true' and
Year(pubdate)='2013'
order by
rand()
limit 4
编辑:对于sql-server使用newid()
而不是rand()