方法二: 考虑使用导出表,将三列数据合并到一列中来,然后再在外层Select中查出最大值,如以下脚本: Sql代码 收藏代码 select id,MAX(m) from ( select id,`x` as m from xyz union all select id,`y` as m from xyz union all select id,`z` as m from xyz ) u group by id; PS:这两种方法适用于 ID没有重复的情况下
方法三:用case when 添加一列,取出a和b中较大的一个命名为max,max再和c比较取出较大的那个 SELECT (CASE WHEN er <= c) THEN c ELSE er END )max FROM( SELECT (CASE WHEN a <= b) THEN b ELSE a END )er FROM xyz)