MySQL 查询,使ORDER BY rand() 将特定行放在底部

MySQL Query, make ORDER BY rand() put a specific row in the bottom

我有一个

ORDER BY rand() 

SQL 在我的表中选择随机行的查询,是否有可能让它不会选择特定的行?例如,如果我在表中有一个名为 "Boolean" 的列,而我只想让

rand() 

选择"Boolean"等于“1”的行,其余的放在最下面,可以吗?

抱歉,如果这是一个愚蠢的问题,或者我解释得不好,但我对 SQL 还很陌生。

您可以使用 order by:

order by (boolean = 1) desc,
         rand()

order by 可以取多个键值。第一个说先用 boolean = 1 放置值。在数字上下文中,布尔表达式被视为数字,1 表示真,0 表示假。因此第一个表达式的 desc