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


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

我有一个

ORDER BY rand() 

SQL查询用于在我的表中选择随机行,是否有可能使其不会选择特定行?例如,如果我在表中有一个名为"布尔"的列,而我只想拥有

rand() 

选择"布尔值"等于"1"的行,并将其余部分放在底部,这可能吗?

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

您可以使用

order by执行此操作:

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

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