MySQL中的MAX函数

时间:2014-03-19 17:00:57

标签: mysql sql

SELECT Name, 
       max(if(location=2,value,' ')) as '#1', 
       max(if(location=2,value,' ')) as '#2' 
FROM value;

在上面的查询中,MAX()返回一个字符串值。那我该如何返回一个int / decimal值。

1 个答案:

答案 0 :(得分:0)

MAX()返回与其作用的字段相同的数据类型。

在您的查询中,您说的是位置是2还是value其他' ',这是一个空字符串集。隐式转换规则规定了如何处理不同的数据类型,在这种情况下,字符串会产生一个字符串。

您没有指定表中value字段的数据类型,但假设它是一个整数/小数,您只需要为ELSE提供不同的数据类型... 0NULL取决于您。

此外,您应该在Name条款中加入GROUP BY