sql随机查询N条数据语句

mysql是这样实现的:

 代码如下 复制代码

select * from tablename order by rand() limit 10

说明:rand()返回在范围0到1.0内的随机浮点值

sqlserver是这样实现的:

 代码如下 复制代码

select top 10 * from tableName order by NewID()

说明:NewID()在扫描每条记录的时候都生成一个值, 而生成的值是随机的, 没有大小写顺序

友情提示:如果你是几万条数据是可以使用上面方法实现了,如果是上万百数据随机生成还是需要生成一些查询优化哦,否则会卡死机器的。

时间: 2024-11-05 12:11:14

sql随机查询N条数据语句的相关文章

sql 随机抽取几条数据的方法 推荐_MsSql

传说用这个语句管用:select top 5 * from tablename order by newid() 我放到sql的查询分析器里去执行果然管用,随机抽取5条信息,不停的换,结果我应用到程序里的时候就不管用了,总是那几条,于是对这个东西进行了一个研究得出另一种方法: newid() 可以产生如:"49869293-8891-4B31-B88E-A584D9621490" 这样的数据结果,而且每一行产生的都不同,这样的话,我们就可以在查询的时候给结果集里加上这么一个列,比如:

MongoDB 随机查询一条数据语语句

换个思路,我们可以在每个文档加一个随机键(random),用Math.random()方法生成随机数,存放进文档里.查询的时候,同样用Math.random()生成一个随机数,返回一条集合中随机数小于这个随机数的文档.当然,也有可能没有小于这个随机数的文档,但如果这样,就必定有一个大于等于这个随机数的文档,除非集合是空的. 查询一条随机数据  代码如下 复制代码 var random=Math.random(); var result=db.user.findOne({"random"

sqlserver 1 n-sqlserver 两个表关联1:n求随机取一条数据的sql语句实现!

问题描述 sqlserver 两个表关联1:n求随机取一条数据的sql语句实现! 现在要补齐tb1中演唱歌曲字段.条件是去tb2中查找相同艺人演唱过的歌曲,随机填充到tb1中的歌曲名字段 一个歌手不止演唱一首歌,所以tb2中是艺人演唱所有歌曲的集合.tb1中同一个歌手可能出现好几次 补齐时候需根据tb1中艺人名称去tb2也就是艺人歌曲汇总表中查找相同艺人演唱的歌曲名称. 需要在艺人名相同情况下随机取tb2中演唱歌曲名去一一补齐tb1中的字段 tb1 tb1 艺人 演唱歌曲名 a null b n

帝国cms随机读取20条数据sql语句

自己经常使用sql语句,没有总结出一个系统的sql语句大全来.今天就顺带在发个随机读取20条数据sql语句,留着以后自己用.也让后来者可以一起分享分享. [ecmsinfo]"select * from [!db.pre!]ecms_news where (classid  between 1 and 10) order by rand()  LIMIT  20",20,36,0,24,2,0[/ecmsinfo]

四种数据库随机获取10条数据的方法_Access

四种数据库随机获取10条数据的方法 SQL Server: 复制代码 代码如下: SELECT TOP 10 * FROM T_USER ORDER BY NEWID() ORACLE: 复制代码 代码如下: SELECT * FROM (SELECT * FROM T_USER ORDER BY DBMS_RANDOM.RANDOM()) WHERE RONUM <= 10 MySQL: 复制代码 代码如下: SELECT * FROM T_USER  ORDER BY  RAND() LIM

sql 每隔2条数据取出1条数据

问题描述 sql 每隔2条数据取出1条数据 表名 user 需要查询出的字段 name 有数据自带的序号 现在要实现 每隔2条查询出1条数据 大神 你在哪里 select aa.* from (select ROW_NUMBER() over(order by t.pk_id)rnt.* from 表名 t )aa where right(convert(nvarchar(5)rn)1)='1' 我自己写了一个 但是老是提示 right 标识无效 解决方案 select aa.* from (s

方法-从数据库查询多条数据

问题描述 从数据库查询多条数据 数据库表是这样的:表A有个字段number,根据number查询表B(附件的相关信息)的信息, 我有一个表单页面,有一个附件,我用HyperLink做的.现在的问题是:我的方法只能返回一个实体类,如果有两个附件,我该怎么做? 解决方案 如果附件有多个, 那你不应该搞一个 HyperLink 控件, 而应该用一个 Panel 容器控件, 这样: 如果没有附件, 则容器为空, 如果有一个附件, 则加入一个 HyperLink 控件 如果有2个附件, 则加入2个 Hyp

有一个WEB服务器,两个客户同时操作JSP页面,一个删除一条数据,一个正好查询这条数据,报错了,怎么解决啊,急!!

问题描述 有一个WEB服务器,两个客户同时操作JSP页面,一个删除一条数据,一个正好查询这条数据,报错了,怎么解决啊,急!! 解决方案 解决方案二:引用楼主duobiao的回复: 有一个WEB服务器,两个客户同时操作JSP页面,一个删除一条数据,一个正好查询这条数据,报错了,怎么解决啊,急!! ......怎么会出错呢难道你做什么都不判断么?解决方案三:报啥错?解决方案四:一句话问题!不知道你是用什么做的,操作数据库用的是什么,数据库用的是什么,反正要有的什么都没有!解决方案五:引用2楼swan

sql随机查询数据语句(NewID(),Rnd,Rand(),random())

SQL Server:  代码如下 复制代码 Select TOP N * From TABLE Order By NewID()   NewID()函数将创建一个 uniqueidentifier 类型的唯一值.上面的语句实现效果是从Table中随机读取N条记录. Access:  代码如下 复制代码 Select TOP N * From TABLE Order By Rnd(ID)     Rnd(ID) 其中的ID是自动编号字段,可以利用其他任何数值来完成,比如用姓名字段(UserNam