-
- 随机读取数据库表內容的方法
- Weather:多云 ,西南风 5-6级 ,最高气温9 ℃
- 2006-03-10
- mySql
代码:
SELECT column FROM table
ORDER BY RAND()
LIMIT 1
PostgreSQL
代码:
SELECT column FROM table
ORDER BY RANDOM()
LIMIT 1
Microsoft SQL Server
代码:
SELECT TOP 1 column FROM table
ORDER BY NEWID()
Oracle
代码:
SELECT column FROM
( SELECT column FROM table
ORDER BY dbms_random.value )
WHERE rownum = 1
IBM DB2
代码:
SELECT column FROM table
ORDER BY RAND()
FETCH FIRST 1 ROWS ONLY
ref:http://www.petefreitag.com/item/466.cfm补充一个Access:
SELECT top 10 * FROM 表 ORDER BY Rnd(id)
Rnd(id) 其中的id是自动编号字段,可以利用其他任何数值来完成
比如用姓名字段(UserName)
-
Views(4789) | Comments(3) |
In:
web develop
|
(03/07)
三星YH-J70到手,真机秀啦
出租房的录影带会杀人(zt)
(03/14)
[随机读取数据库表內容的方法]的回复
-
ZZZzzz
于
2006-03-16 13:09:05
发表 |
IP:152.104.150.*
- 好东西的说
-
littlenew
于
2008-06-10 16:13:28
发表 |
IP:218.17.62.*
补充一个Access:
SELECT top 10 * FROM 表 ORDER BY Rnd(id)
这个你试过吗??我记得好像是不行,在前台还是显示第一次显示的数据,不知道是有时间间隔,还是我的access有问题,反正只能显示第一次的数据。我想应该是种子的问题吧。
如果要实现真正的随机还是要靠程序的。
-
柠檬园主
于
2008-06-11 22:17:55
发表 |
IP:124.93.18.*
ACCESS这个方法不能说不好用,只是AC的特殊性导致体现不出来.
AC是所有用户共用一个缓存,第一个用户访问时取了结果就一直在缓存里,再有多更用户执行这个RND操作,也只是把上次的结果体现出来.....
