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
。
我有一个
ORDER BY rand()
SQL 在我的表中选择随机行的查询,是否有可能让它不会选择特定的行?例如,如果我在表中有一个名为 "Boolean" 的列,而我只想让
rand()
选择"Boolean"等于“1”的行,其余的放在最下面,可以吗?
抱歉,如果这是一个愚蠢的问题,或者我解释得不好,但我对 SQL 还很陌生。
您可以使用 order by
:
order by (boolean = 1) desc,
rand()
order by
可以取多个键值。第一个说先用 boolean = 1
放置值。在数字上下文中,布尔表达式被视为数字,1
表示真,0
表示假。因此第一个表达式的 desc
。