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