select top 1 from tb_test order by rnd(tb_column_id + 10)
从表tb_test中随机选出一条记录
tb_column_id为表的一个列
oracle 里面能实现,sqlserver里面不知道有没有分析函数
给你个参考
select
from
(
select id,name,tid,rank()over(partition by tid order by sys_guid())rnd
from table
) t
where rnd <= 5
其中
rank()over(partition by tid order by sys_guid())
的作用是求按tid分组然后按照sys_guid(相当于sql中的newid)排序后这一行所处的名次
SELECT TOP 3 FROM UTABLE WHERE UID='123' ORDER BY NEWID()
UNION ALL
SELECT TOP 7 FROM UTABLE WHERE UID<>'123' ORDER BY NEWID()
说明:newid()是一个随机函数,所以这样就可以查到随机10条记录了
union all 是不消除重复记录进行连接
以上就是关于ASP+ACCESS数据库,如何使用SQL命令随机取出几条记录全部的内容,包括:ASP+ACCESS数据库,如何使用SQL命令随机取出几条记录、sql随机取n条数据、从sql server 数据库中随机取出10条记录等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)