1. 程式人生 > >從資料庫隨機取資料 四種資料庫隨機獲取10條資料的方法

從資料庫隨機取資料 四種資料庫隨機獲取10條資料的方法

四種資料庫隨機獲取10條資料的方法

SQL Server:

程式碼如下:

SELECT TOP 10 * FROM T_USER ORDER BY NEWID()

ORACLE:

程式碼如下:

SELECT * FROM (SELECT * FROM T_USER ORDER BY DBMS_RANDOM.RANDOM()) WHERE RONUM <= 10

MySQL:

程式碼如下:

SELECT * FROM T_USER  ORDER BY  RAND() LIMIT 10

Access:

程式碼如下:

SELECT TOP 10 * FROM T_USER ORDER BY rnd([一個自動編號欄位])

這條語句在 Access 中的“查詢”中是可以執行並得到隨機結果的,但在 ASP.NET等後臺程式程式碼中卻無法得到預期的隨機效果。

正確的寫法如下:

以ASP.NET為例:

程式碼如下:

Random random = new Random(System.Guid.NewGuid().GetHashCode());

int r = random.Next();

string sql = "SELECT TOP 10 * FROM T_USER ORDER BY RND(" + (-r) + "*自動編號欄位)"