我有以下查询随机排序结果:
$sql = "SELECT *, `active` FROM `profiles` WHERE CONCAT(',' , pfCategory , ',') LIKE '%$category%' AND `active`='1' ORDER BY RAND()";
我想在profiles
表中添加一个布尔字段,因此值为1的随机结果将出现在随机列表中值为0的那些上面。那可能吗?谢谢
答案 0 :(得分:1)
您可以使用
$sql = "SELECT *, `active` FROM `profiles` WHERE CONCAT(',' , pfCategory , ',') LIKE '%$category%' AND `active`='1' ORDER BY active, RAND()";
如果Active是用于排序的字段。
祝你好运, 内博伊沙
答案 1 :(得分:1)
尝试使用以下查询:
$sql = "SELECT *, `active` FROM `profiles` WHERE CONCAT(',' , pfCategory , ',') LIKE '%$category%' AND `active`='1' ORDER BY boolean_field_name DESC, RAND()";
答案 2 :(得分:0)
你可以在这里使用案例
order by case when `active`='1' then 0
else rand() end