從資料庫表中有效地選擇隨機行對於各種應用程式(包括資料採樣、模擬和匿名化)至關重要。本指南探討了在流行的資料庫系統中實現這一目標的有效方法,並專注於 Microsoft SQL Server。
要從名為「customerNames」的表格中隨機選擇 5 行,請使用下列 SQL Server 查詢:
<code class="language-sql">SELECT TOP 5 Id, Name FROM customerNames ORDER BY NEWID()</code>
NEWID()
函數為每行產生一個唯一的隨機標識符,確保對結果進行排序時的隨機選擇。
雖然上述方法適用於 SQL Server,但不同的資料庫系統提供了獨特的隨機行選擇功能。對比一下:
MySQL:
<code class="language-sql">SELECT column FROM table ORDER BY RAND() LIMIT 1</code>
PostgreSQL:
<code class="language-sql">SELECT column FROM table ORDER BY RANDOM() LIMIT 1</code>
IBM DB2:
<code class="language-sql">SELECT column, RAND() as IDX FROM table ORDER BY IDX FETCH FIRST 1 ROWS ONLY</code>
甲骨文:
<code class="language-sql">SELECT column FROM ( SELECT column FROM table ORDER BY dbms_random.value ) WHERE rownum = 1</code>
SQLite:
<code class="language-sql">SELECT column FROM table ORDER BY RANDOM() LIMIT 1</code>
這些範例示範了每個資料庫系統如何利用自己的內建函數來產生行選擇的隨機順序。 請記住,具體實作可能會因資料庫版本而略有不同。
這些技術提供了一種靈活有效的方法來從資料庫中選擇隨機行,使您能夠建立需要隨機資料選擇的應用程式。 選擇正確的方法取決於您的特定資料庫系統。
以上是如何在SQL Server和其他資料庫中隨機選擇行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!