目前就以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()

創作者介紹

歡迎~ 程式設計 學生 作業 專題製作 程式外包 家教...

goodlucky 發表在 痞客邦 PIXNET 留言(0) 人氣()