Mysql通过newid()进行随机排序和随机取出n条数据
Msql随机排序在随机文章中经常使用,原始的order by rand()执行速度很慢,随机取出n条数据的方法很多,一种方法是通过newid()进行随机排序和取数。
//建立#test表
create table #test
(
ID int
)
//准备好测试数据
insert into #test
values (1), (2), (3), (4), (5)
//使用newid()进行随机排序
select ID
from #test
order by newid()
//使用top和newid()随机取出1个记录 select top 1 ID
from #test
order by newid()
//注销#test表
drop table #test
//建立#test表
create table #test
(
ID int
)
//准备好测试数据
insert into #test
values (1), (2), (3), (4), (5)
//使用newid()进行随机排序
select ID
from #test
order by newid()
//使用top和newid()随机取出1个记录 select top 1 ID
from #test
order by newid()
//注销#test表
drop table #test
精选留言