一般的sql语句查询结果,都是根据语句中指定的某个字段排序,或者根据数据库设计的默认排序返回记录结果。而有时可能我们就想通过sql查询语句获得某个数据表中随机的n条记录,比如返回文章列表的随机的10条记录。
以前我记得我倒是通过使用过sql语句的随机函数返回表中某一段的数据的方法,不过总感觉不太理想。
今天翻阅了一些资料,发现原来有更好的简便的sql语句可以方便的获得某个表中n条随机的记录,sql语句的写法是这样的:
SQL Server: select top n * from 表 order by newid()
Access: Select top n * FROM 表 orDER BY Rnd(id)
mysql: Select * From 表 order By rand() Limit n
三种哦,sql server 、access、mysql的是不通的,其中sql查询语句中的n表示你要获得的记录条数,简单吧。
下面来个例子,比如我有一格表名是article,我象随机抽取其中10条记录返回结果,我得数据库是mssql,那么这条查询10条随机记录的sql语句是这样写的:
select top 10 from article order by newid()
简单吧,需要通过sql语句查询获得n条随机记录的朋友可以试试。