如何按random()和另一个字段排序mysql查询结果


How to order mysql query results by random() and by another field?

我有以下查询,随机排序结果:

$sql = "SELECT *, `active` FROM `profiles` WHERE CONCAT(',' , pfCategory , ',') LIKE '%$category%' AND `active`='1' ORDER BY RAND()";

我想在profiles表中添加一个布尔字段,以便值为1的随机结果将出现在随机列表中值为0的随机结果之上。这可能吗?由于

尝试使用下面的查询:

$sql = "SELECT *, `active` FROM `profiles` WHERE CONCAT(',' , pfCategory , ',') LIKE '%$category%' AND `active`='1' ORDER BY boolean_field_name DESC, RAND()";

可以使用

$sql = "SELECT *, `active` FROM `profiles` WHERE CONCAT(',' , pfCategory , ',') LIKE '%$category%' AND `active`='1' ORDER BY active, RAND()";

如果Active是排序字段

最诚挚的问候,梅

这里可以用大小写

 order by case when `active`='1' then 0
               else rand() end