在excel中我们可以找到最大值。和分钟。忽略空白列的行的值,如此图片
在mysql数据库中,我有一个包含3个字段的表,每个字段的数据类型都是float。通过使用最大和最小的函数,我打算找到最大值。和分钟。每行的值。但结果是
excel和mysql中的结果不同,因为在excel中我们可以清空列,但在mysql中(使用float数据类型),空列将更改为0.
如果列包含NULL,则结果如下
问题: 有没有办法让mysql中的0或NULL值读为空列?
答案 0 :(得分:1)
也许您可以使用ifnull替换低值或高值
drop table if exists t;
Create table t (a float, b float, c float);
insert into t (b,c) values (1,2);
select greatest(ifnull(a,0),ifnull(b,0),ifnull(c,0)) maxi,
least(ifnull(a,999999),ifnull(b,999999),ifnull(c,999999)) mini
from t;
结果
+------+------+
| maxi | mini |
+------+------+
| 2 | 1 |
+------+------+
1 row in set (0.00 sec)