从数据库表中有效地选择随机行对于各种应用程序(包括数据采样、模拟和匿名化)至关重要。本指南探讨了在流行的数据库系统中实现这一目标的有效方法,重点关注 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中文网其他相关文章!