$query = "SELECT products.*, login1.*
FROM products LEFT JOIN login1
ON products.id_user = login1.id_user
WHERE products.product LIKE '".$search_keyword."'
ORDER BY products.product, products.rate "
使用此查询时,费率为 0 的产品首先列出,但我希望它显示在最后,顺序没有其他变化。我怎样才能做到这一点。
试试这个:
$query = "
SELECT products.*, login1.*
FROM products
LEFT JOIN login1 ON products.id_user = login1.id_user
WHERE products.product LIKE '" . $search_keyword . "'
ORDER BY IF(products.rate = 0, 1, 0), products.product, products.rate "
这会向排序顺序添加初始检查,以便将比率为 0
的产品列在比率不等于 0
的所有产品之后。
试试这个:
SELECT products.*, login1.*
FROM products
LEFT JOIN login1 ON products.id_user = login1.id_user
WHERE products.product LIKE '".$search_keyword."'
ORDER BY products.product, products.rate = 0,products.rate
它将首先按速率是否为 0 进行排序。如果为 0,则这将获得值 1 并放在末尾。然后,其他值将像往常一样按速率排序。