我想在mysql查询中实现least,但least不应该是count 0我该怎么做?
这是我的问题

    LEAST(price, price_double, price_triple, price_quad) AS minvalue

它现在正在计数0,但我不想计数0,搜索结果时没有0
例如
   price            100
   price_double     75
   price_tripple    50
   price_quad       0

minvalue将是50而不是0,但现在它包括0。
请帮帮我,我有很大的麻烦,我找了很多,但没有得到任何成功,万分感谢提前。

最佳答案

您可以使用case函数中的least()来执行此操作。不幸的是,如果MySQL的最新版本中有任何参数为空,least()将返回空值。因此,这使用了一个很大的虚拟值:

least(case when price > 0 then price else 999999 end,
      case when price_double > 0 then price_double else 999999 end,
      case when price_triple > 0 then price_triple else 999999  end,
      case when price_quad > 0 then price_quad else 999999 end
     )

关于mysql - 如何在没有计数0的mysql查询中实现最少?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16484704/

10-09 00:55