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
posted @ 2023-04-24 11:58  shamozhicheng  阅读(381)  评论(0编辑  收藏  举报