ANTKD 发表于 2011-12-14 21:40:50

关于随机读取MBD数据库的字段数据。请教

要随机读出数据库表里的其中两个字段的数据(每个字段下面有1000条数据,希望随机读出。)。要怎么搞呢?

在论坛找了一下。
$RS.Open("select top 1 "&$T & " From " & $tblname & " ORDER by rnd(id)")
会出错。请各位兄弟指教。

ANTKD 发表于 2011-12-15 19:30:39

问题没有解决。顶一下。等高手指教!!

auto 发表于 2011-12-16 12:52:07

id的值就可以AU3的随机函数 random获取

zxxputian1 发表于 2011-12-16 13:55:35

知道了,好好学习

ANTKD 发表于 2011-12-16 21:23:16

auto....具体如何操作??能不能给个例子???谢谢

auto 发表于 2011-12-16 23:02:28

试试看这个,电脑没装AU3,语句没办法测试,大概是这样吧
$RS.Open("select*"&$T & " From " & $tblname & "WHERE ID= "&random(1,1000,1))

ANTKD 发表于 2011-12-18 21:57:41

刚才测试了一下。出现出错。执行不了哦。

yfml 发表于 2012-1-12 00:00:07

同求,那位高手解决下!!

kk_lee69 发表于 2012-1-12 00:51:44

資料庫的內容是不是可以舉幾個例子 看看呢??

SQL 本身 好像無法做 隨機取值吧

kk_lee69 发表于 2012-1-12 01:09:48

回复 5# ANTKD


    資料庫 出來比較 能寫出實際利子


SQL 資料 如下:

目前就以MS SQL及Access這兩種資料庫來說明隨機取值的語法
MS SQL:SELECT TOP 1 * FROM Table WHERE 條件 ORDER BY NEWID()
ACCESS:SELECT TOP 1 * FROM Table WHERE 條件 ORDER BY RND(數字欄位名稱)

取值的方式有很多種,以下就我所知道的方法
例(隨機取得前10筆):
WITH prod_temp AS (   
SELECT top 10 prod_no, title
FROM Product
ORDER BY NEWID()
)

SELECT row_number() over(order by prod_no) as NewID, prod_no, title
FROM prod_temp



例(由最後100筆中取出10筆):
select top 10 * from (
SELECT top 100 prod_no, title
FROM Product
ORDER BY prod_no DESC
) TABEL_TEMP
ORDER BY NEWID()

kk_lee69 发表于 2012-1-12 01:13:55

SELECT TOP 1 * FROM Table WHERE 條件 ORDER BY NEWID()
页: [1]
查看完整版本: 关于随机读取MBD数据库的字段数据。请教