使用MYSQL在两列之间选择最小值

使用MYSQL在两列之间选择最小值,mysql,sql,sql-null,Mysql,Sql,Sql Null,您好,我正在尝试使用MySQL选择3列之间的最小值 我面临的问题是,在一列中,我可能有NULL值。如何获取非NULL的最小值 运行select least(1,3,NULL)将返回NULL,但我希望得到1作为答案 谢谢你的帮助 处理nulls的方式是: 如果任何参数为NULL,则结果为NULL。不需要进行比较 这可能看起来很烦人,但是将null值传播到resultset是数据库向您发出的信号,其中一个值未定义;这与涉及null(字符串串联、算术运算等)的其他操作的行为一致 如果只有第三列可以是n

您好,我正在尝试使用MySQL选择3列之间的最小值

我面临的问题是,在一列中,我可能有
NULL
值。如何获取非
NULL
的最小值

运行
select least(1,3,NULL)
将返回
NULL
,但我希望得到
1
作为答案

谢谢你的帮助

处理
null
s的方式是:

如果任何参数为
NULL
,则结果为
NULL
。不需要进行比较

这可能看起来很烦人,但是将
null
值传播到resultset是数据库向您发出的信号,其中一个值未定义;这与涉及
null
(字符串串联、算术运算等)的其他操作的行为一致

如果只有第三列可以是
null
,而其他两列都不能,则可以执行以下操作:

least(col1, col2, coalesce(col3, col1))
least()
处理
null
s的方式是:

如果任何参数为
NULL
,则结果为
NULL
。不需要进行比较

这可能看起来很烦人,但是将
null
值传播到resultset是数据库向您发出的信号,其中一个值未定义;这与涉及
null
(字符串串联、算术运算等)的其他操作的行为一致

如果只有第三列可以是
null
,而其他两列都不能,则可以执行以下操作:

least(col1, col2, coalesce(col3, col1))

列的类型是什么?它们可以是负数吗?列的类型是什么?它们可能是负面的吗?