mysql求多列最大值
1、使用列转行,每一列都转为一行数据,这样,直接比值就可以了。
优点: 比较常用,可以不用先求出每行或每列的最大值,转换后直接比值即可。
缺点 :大量使用union,union越多,性能越差,在数据量大的情况下不推荐。
select ymd,max(value) from (
select name,one as value from t
union all
select name,two as value from t
union all
select name,three as value from t
) k group by ymd
2、使用函数:greatest(求多列最大值),least (求多列最小值)
优点: 可以一次性求出多列的最大值,性能也较高
select ymd, greatest(one,two,three) as value from t
) group by ymd