隨機抽取n個記錄的SQL

2021-04-02 05:42:43 字數 840 閱讀 4465

隨機抽取n個記錄的sql(mysql和sqlserver)

mysql: select * from tablename order by rand() limit 10

sqlserver: select top 10 * from tablename order by newid()

在符合條件的資料中的,從第5條開始提出後面10條資料

mysql: select * from table limit 5,10

sqlserver: select top 10 *

from table where (identitycol not in

(select top 5 identitycol

from table order by identitycol))

order by identitycol

或:select *,identity(int,1,1) as num into ##aa from tablename

select * from ##aa where num >=5 and num <=10

注:identitycol

返回標識列。有關更多資訊,請參見 identity(屬性)、alter table 和 create table。

如果 from 子句中的多個表內有包含 identity 屬性的列,則必須用特定的表名(如 t1.identitycol)限定 identitycol。

rowguidcol

返回行全域性唯一標識列。

如果在 from 子句中有多個表具有 rowguidcol 屬性,則必須用特定的表名(如 t1.rowguidcol)限定 rowguidcol。

sql隨機抽取記錄

我們經常想在一個資料表中隨機地選取出資料來,比如隨機生成考試試卷等。利用 sql server 的 newid 方法就可以很輕鬆地達到這個目的。newid 方法返回一個 guid,如 ee95a489 b721 4e8a 8171 3ca8cb6ad9e4 在 select 表的時候,再增加一列為 ...

sql隨機抽取記錄

我們經常想在一個資料表中隨機地選取出資料來,比如隨機生成考試試卷等。利用 sql server 的 newid 方法就可以很輕鬆地達到這個目的。newid 方法返回一個 guid,如 ee95a489 b721 4e8a 8171 3ca8cb6ad9e4 在 select 表的時候,再增加一列為 ...

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隨機抽取資料庫記錄

mysql select from tablename order by rand limit 10 sql server select top 5 from tablename order by newid access select top 5 from tablename order by r...