... order by is_on_sale desc, goods_id desc, goods_number desc
ORDER BY `is_on_sale` DESC, `goods_id` DESC, `goods_number` DESC
order by is_on_sale desc,goods_number desc,goods_id desc order by可以多重使用,优先级以先后顺序排列, is_on_sale 为1的在上边,下架的在下边 goods_number 在上边的排序结果中 库存多的在前, goods_id 在以前结果中,同样条件下新发的在最前
order by可以多重使用,优先级以先后顺序排列,
is_on_sale 为1的在上边,下架的在下边
goods_number 在上边的排序结果中 库存多的在前,
goods_id 在以前结果中,同样条件下新发的在最前
$default_sort_order_method = $_CFG['sort_order_method'] == '0' ? 'DESC' : 'ASC';
$default_sort_order_type = $_CFG['sort_order_type'] == '0' ? 'g.is_on_sale desc,g.sort_order desc,g.goods_number DESC,g.goods_id' : ($_CFG['sort_order_type'] == '1' ? 'shop_price' : 'last_update');$sort = (isset($_REQUEST['sort']) && in_array(trim(strtolower($_REQUEST['sort'])), array('goods_id','is_on_sale','goods_number','shop_price', 'last_update'))) ? trim($_REQUEST['sort']) : $default_sort_order_type;
$order = (isset($_REQUEST['order']) && in_array(trim(strtoupper($_REQUEST['order'])), array('ASC', 'DESC'))) ? trim($_REQUEST['order']) : $default_sort_order_method;
sql xxx,xxx from goods where xxx ORDER BY $sort $order我目前是这样写的。但是排列出来的效果是库存为0的也出现在前面了。
DESC
g.is_on_sale and g.goods_number>0 desc