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


arrow
arrow
    全站熱搜

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