Php Mysql排序依据:将零跳到列表末尾
使用此查询时,首先显示速率为0的产品列表,但我希望最后显示该列表,订单中没有其他更改。我怎样才能做到这一点。试试这个:Php Mysql排序依据:将零跳到列表末尾,php,mysql,sql-order-by,zero,Php,Mysql,Sql Order By,Zero,使用此查询时,首先显示速率为0的产品列表,但我希望最后显示该列表,订单中没有其他更改。我怎样才能做到这一点。试试这个: $query = "SELECT products.*, login1.* FROM products LEFT JOIN login1 ON products.id_user = login1.id_user WHERE products.product LIKE '".$search_keyword."
$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 "
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并放置在末尾。然后,其他值将像往常一样按速率排序。尝试以下操作:
$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 "
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
order BY***DESC
的产品。我想要ASC顺序,除了零。您需要一个if语句。我回滚了edit#2,因为*
字符被识别为使用
进行引用时格式化字符,因此不会打印。此订单不是按产品进行的吗?产品是在产品之前进行的。考虑了比率是多少?@Aiias是的,这是原始订单的方式,所以我想保留它。