回覆列表
  • 1 # 小皮球的飛飛

    四種資料庫隨機獲取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) + "*自動編號欄位)"

  • 中秋節和大豐收的關聯?
  • 嘴裡起潰瘍,很疼什麼原因?