如何在纯SQL中请求随机行(或尽可能接近真正的随机行)?
参见这篇文章:SQL从数据库表中选择一个随机行。它介绍了在MySQL,PostgreSQL,Microsoft
SQL Server,IBM DB2和Oracle中执行此操作的方法(以下内容从该链接复制而来):
使用MySQL选择一个随机行:
SELECT column FROM table
ORDER BY RAND()
LIMIT 1
使用PostgreSQL选择一个随机行:
SELECT column FROM table
ORDER BY RANDOM()
LIMIT 1
使用Microsoft SQL Server选择一个随机行:
SELECT TOP 1 column FROM table
ORDER BY NEWID()
使用IBM DB2选择随机行
SELECT column, RAND() as IDX
FROM table
ORDER BY IDX FETCH FIRST 1 ROWS ONLY
使用Oracle选择一个随机记录:
SELECT column FROM
( SELECT column FROM table
ORDER BY dbms_random.value )
WHERE rownum = 1
问题内容: 我正在使用MSSQL Server2005。在我的数据库中,我有一个表“ customerNames”,其中有两列“ Id”和“ Name”以及大约。1,000个结果。 我正在创建一个功能,每次必须随机选择5个客户。谁能告诉我如何创建一个查询,该查询每次执行查询时都会随机获得5行(Id和Name)? 问题答案: 也就是说,似乎每个人都可以访问此页面,以获取对您的问题的更一般的答案: 在
问题内容: 我正在使用SQL Server 2005,请告诉我如何为表中的每一行获取6位(唯一数字,应该是随机的)值。 我在表中有一个字段,我需要6位数字值(随机且唯一)。 请帮助我做到这一点。 问题答案: 电话号码: 在SQL Server中,NEWID几乎是随机的。 但是,如果要唯一,则最好从000000开始,然后转到999999。任何随机数生成器都会遇到生日问题。 您可以拥有可靠的唯一身份或
我有一个文件,其中包含Json请求体。我想使用constantUsersPerSec(...)对每秒发送恒定数量请求的Web进行基准测试。 但是,每次发送请求时,我都希望从请求列表中获取请求(随机或循环,我不在乎)。 我不知道该怎么对付加特林。使用以下代码,请求被随机选择一次,同一请求被反复发送。这不是我想要的 我的代码:
问题内容: 我有大约1000行的表。我必须将n个随机行的表中的column(“ X”)更新为’Y’。为此,我可以有以下查询 是否有另一种有效的方式来编写此查询。该表没有索引。请帮忙? 问题答案: 我将使用ROWID: 我使用ROWID的实际原因并不是为了提高效率(它仍然会进行全表扫描)-如果列不是唯一的,则您的SQL可能不会更新所需的行数。 只有1000行,您不必担心效率(也许有一亿行)。该表上没
问题内容: 这是我的表结构。在这里我想随机选择4行,所以我在查询中使用RAND()mysql函数,我的问题是 如何配对到行。我的意思是,我想始终选择pid 2和3。我需要按以下顺序。 我不想打破对A2 A3 或或或等 我使用下面的查询,但对我不起作用 问题答案: turbod与他的答案很接近,他只是随机排序,当您似乎想要按pid排序时,在获得所需的随机行以及与A2和A3有关的行之后:
问题内容: 我有多行数据共享相同的公司ID。 有没有一种方法可以使用SQL Server Management Studio 2005对所有金额进行“总和”,以便为每个公司ID给我一行数据? 例如,我目前有以下数据…… 我想尝试得到的是....... 有没有办法做到这一点? 任何指向我正确方法的建议都很好。 谢谢, 问题答案: