Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何按random()和其他字段对mysql查询结果排序?_Php_Mysql_Sql_Random_Sql Order By - Fatal编程技术网

Php 如何按random()和其他字段对mysql查询结果排序?

Php 如何按random()和其他字段对mysql查询结果排序?,php,mysql,sql,random,sql-order-by,Php,Mysql,Sql,Random,Sql Order By,我有以下查询,对结果进行随机排序: $sql = "SELECT *, `active` FROM `profiles` WHERE CONCAT(',' , pfCategory , ',') LIKE '%$category%' AND `active`='1' ORDER BY RAND()"; 我想在profiles表中添加一个布尔字段,这样值为1的随机结果将显示在随机列表中值为0的随机结果的顶部。可能吗?谢谢您可以使用 $sql = "SELECT *, `active` FROM

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

$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 active, RAND()";
如果活动,则为用于排序的字段

致以最良好的祝愿,
内博伊萨

您可以在这里使用案例

 order by case when `active`='1' then 0
               else rand() end
尝试使用以下查询:

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

是的,你为什么不先尝试一下,告诉我们你在尝试之后面临的问题。