以某整数字段为种子(没有的话要生成一个),通过RAND函数生成一个0-1之间的随机数。如0.7136106261841817,然后转换成文本型,再取后7位即RIGHT(CONVERT(VARCHAR,RAND(序号)),7) 。
结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,sql 语句就是对数据库进行 *** 作的一种语言。
SQL语句无论是种类还是数量都是繁多的,很多语句也是经常要用到的,SQL查询语句就是一个典型的例子,无论是高级查询还是低级查询,SQL查询语句的需求是最频繁的。
DBMS(DataBaseManagementSystem,数据库管理系统)和数据库。平时谈到“数据库”可能有两种含义:MSSQLServer、Oracle等某种DBMS;存放一堆数据表的一个分类(Catalog)。
四种数据库随机获取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() LIMIT 10
Access:
SELECT TOP 10 * FROM T_USER ORDER BY rnd([一个自动编号字段])
这条语句在 Access 中的“查询”中是可以运行并得到随机结果的,但在 ASP.NET等后台程序代码中却无法得到预期的随机效果。
正确的写法如下:
以ASP.NET为例:
Random random = new Random(System.Guid.NewGuid().GetHashCode())
int r = random.Next()
string sql = "SELECT TOP 10 * FROM T_USER ORDER BY RND(" + (-r) + "*自动编号字段)"
SQL随机查询语句,[数据库使用技巧]SQL语句生成随机数,如何随机显示sql查询语句查询的数据记录集中的20条,随机取出若干条记录的SQL语句,使用SQL语句取随机数的方法方法如下:
SQL
Server:
Select
TOP
N
*
From
TABLE
order
By
NewID()
Access:
dim
r
randomize
r
=
rnd
sql
=
"select
top
10
*
from
table
order
by
rnd("
&
r
&
"-id)"
rnd("
&
r
&
"-id)
其中的id是自动编号字段,可以利用其他任何数值来完成,比如用姓名字段(UserName)
select
top
10
*
from
table
order
by
rnd("
&
r
&
"-Len(UserName))
MySql:
Select
*
From
TABLE
order
By
Rand()
Limit
10
orACLE:
select
*from
(select
*from
t
order
by
dbms_random.value)
where
rownum<10
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)