$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
的产品。关于php - MySQL排序依据:跳过零到列表末尾,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17406490/