sql server 隨機抽取N條資料

2021-06-20 18:48:37 字數 671 閱讀 1724

select top 5 * from 表名 order by newid()  , newid 產生的新的值是不固定的 。 在select表裡的資料的newid() 函式時候 隨即選出n條記錄 。

回答人的補充   2011-04-21 22:50

newid() 函式會隨即產生乙個不重複的數值(你可以把它理解成乙個簡單的數字 ,例如 1 ,2 ,3 ......) 。比如 有乙個使用者表users :

select userid ,username ,newid() as num  from users 。這是查詢的結果是 。

userid   username  num

1              1              3

2              2              2

3              3              1

每一次執行這個 select userid ,username ,newid() as num  from users  這個sql語句的時候 ,num 會一直變化 。這樣的話 ,你select top 5 * from users order by newid() 的時候 ,它會根據newid() 產生的值去排序 。因為newid() 每次產生的值 一直會改變 ,所以起到了隨即的作用 。

Oracle中隨機抽取N條記錄

一 oracle訪問資料的基本方法 1 全表掃瞄 full table scan 執行全表掃瞄,oracle讀表中的所有記錄,考查每一行是否滿足where條 件。oracle順序的讀分配給該錶的每乙個資料塊,且每個資料塊oracle唯讀一次.這樣全表掃瞄能夠受益於 多塊讀。2 取樣表掃瞄 sampl...

Oracle中隨機抽取N條記錄

一 oracle訪問資料的基本方法 1 全表掃瞄 full table scan 執行全表掃瞄,oracle讀表中的所有記錄,考查每一行是否滿足where條 件。oracle順序的讀分配給該錶的每乙個資料塊,且每個資料塊oracle唯讀一次.這樣全表掃瞄能夠受益於 多塊讀。2 取樣表掃瞄 sampl...

SQL Server 隨機取n條記錄

客戶要搞個 程式。生個隨機數往記錄上對感覺太麻煩,想讓記錄隨機排序。select from table order by rand rand需要個種子,幫助例項 select rand datepart mm,getdate 100000 datepart ss,getdate 1000 datep...