最后请求数字0的SQL顺序

时间:2014-03-26 15:11:43

标签: mysql sql drupal

如何才能为0做“ORDER BY”才能成为最后一个?

$query->orderBy('price.field_selling_price_value');

EG。

  • 10
  • 1000
  • 2000
  • 23999
  • 0

谢谢。

2 个答案:

答案 0 :(得分:1)

在大多数数据库中,您可以使用以下方法执行此操作:

ORDER BY CASE WHEN field_selling_price_value = 0 THEN 1 ELSE 0 END, field_selling_price_value

在MySQL中,它更简单:

ORDER BY field_selling_price_value = 0, field_selling_price_value

答案 1 :(得分:0)

MySQL解决方案:

ORDER BY FIELD( price.field_selling_price_value, 0 ), price.field_selling_price_value 

此条件按price.field_selling_price_value的升序对记录进行排序,如果找到此列的值为0的记录,则将它们放在最后。