当前位置: 首页 > 面试题库 >

如何在MySQL中选择随机行?

蓝宜
2023-03-14
问题内容
mytable

pid name field
=== ==== =====
1    A1   0
2    A2   1
3    A3   1
4    A4   0   
5    A5   0

这是我的表结构。在这里我想随机选择4行,所以我在查询中使用RAND()mysql函数,我的问题是

如何配对到行。我的意思是,我想始终选择pid 2和3。我需要按以下顺序。 我不想打破对A2 A3

A1 A2 A3 A4A2 A3 A4 A1A2 A3 A4 A5A4 A5 A2 A3

我使用下面的查询,但对我不起作用

SELECT * FROM mytable ORDER BY RAND() ASC limit 0,4

问题答案:

turbod与他的答案很接近,他只是随机排序,当您似乎想要按pid排序时,在获得所需的随机行以及与A2和A3有关的行之后:

(
    SELECT *
    FROM `mytable`
    WHERE 
        name ='A2' OR 
        name ='A3'
    LIMIT 2
)
UNION
(
    SELECT DISTINCT *
    FROM `mytable`
    WHERE 
        name !='A2' OR 
        name !='A3'
    ORDER BY RAND( ) LIMIT 2
) 
ORDER BY `pid`


 类似资料:
  • 问题内容: 我正在使用MSSQL Server2005。在我的数据库中,我有一个表“ customerNames”,其中有两列“ Id”和“ Name”以及大约。1,000个结果。 我正在创建一个功能,每次必须随机选择5个客户。谁能告诉我如何创建一个查询,该查询每次执行查询时都会随机获得5行(Id和Name)? 问题答案: 也就是说,似乎每个人都可以访问此页面,以获取对您的问题的更一般的答案: 在

  • 问题内容: 我正在使用PHP和MySQL创建一个简单的Web应用程序。在其中,我需要以随机顺序从表中随机选择一小组行。如何使用MySQL实现此类目标? 问题答案: SELECT * FROM table ORDER BY RAND() LIMIT 10;

  • 问题内容: 我看到了许多与此主题有关的主题,但在了解如何做到这一点上一直没有成功。 例如,如果我有此表: 并且我只想显示“一个”类中的X个随机行,我该怎么做? 注意 :这是一张大桌子,所以我不想使用。 问题答案: 如您所知,大多数人推荐的解决方案无法扩展到大型表。 我在《SQL反模式:避免数据库编程的陷阱》一书中介绍了该解决方案和其他解决方案。 如果要使用PHP进行此操作,则可以执行以下操作(未测

  • 问题内容: 请考虑下表: 实际上,该表具有600,000条记录,但是如示例表中所示,某些已被删除(因此最高的> 600,000)。 可以是,或。 我需要 随机选择 1200条Tweet,每条400条。这可能与一个查询有关吗? 问题答案: 如果(3)的可能值数量有限,则可以通过一组各自具有和的查询轻松完成此操作: 为了将应用于每个组,必须将组括在中。

  • 本文向大家介绍如何从MySQL数据库中选择随机记录?,包括了如何从MySQL数据库中选择随机记录?的使用技巧和注意事项,需要的朋友参考一下 为此,您可以使用ORDER BY RAND LIMIT。让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用select语句显示表中的所有记录- 这将产生以下输出- 这是从MySQL数据库中选择随机记录的查询- 这将产生以下输出-

  • 问题内容: 这是我在数据库中查询一些单词的方法 我正在使用mysql,我想获得符合条件的随机行,我在查询中使用rand()的顺序。 我发现这个类似的问题基本上表明,由于在理论中不支持ORDER BY RAND,因此可以将主键随机化。但是,在我的情况下无法做到这一点,因为我有一个搜索条件和一个where子句,因此并非每个主键都可以满足该条件。 我还找到了一个代码段,建议您使用OFFSET来随机化行,