接到一个需求,实现需要找出一个品各个平台价格的最低价,现有的数据,各个价格记录在一条数据中,初步想法是查询到Java后台再做比较。但是查看了下数据,一个品最多可能有八个价格,还要排除各种为0的,为空的数据,稍显麻烦,因而想到了mysql的least函数。
greatest(字段1,字段2,字段3,…,字段n) 取最大值
least(字段1,字段2,字段3,…,字段n) 取最小值
实际操作了下,发现查询到的很多数据为空或者为0,而这部分数据显然不是想要的,需要过滤掉。可以分三种情况进行处理
1、需要过滤的数据都是空值
SELECT
id,
sku_code,
LEAST(
IFNULL(a_price,99999),
IFNULL(b_price,99999</