Php MySQL LEAST()函数未返回结果时出现问题

Php MySQL LEAST()函数未返回结果时出现问题,php,mysql,aggregate-functions,Php,Mysql,Aggregate Functions,我最近在查询中使用了LEAST(tb1、tb2、tb3)作为名称,以跨多个列获取最小值,并检查它们是否不等于默认值0.00 到目前为止,它工作正常,正如我预期的那样,远程服务器上的脚本版本工作正常 但是,在更改了列默认值和NULL状态(我试图看看是否可以使用NULL而不是0.00,在阅读了最少的文档之后,这不是我想要做的),然后重新导入我最初使用的表。它仍然无法像以前那样工作,因为没有明显的原因,我使用LEAST()的查询完全不返回任何内容、空数组,并且没有可见的错误消息 我重新启动了MySQL

我最近在查询中使用了LEAST(tb1、tb2、tb3)作为名称,以跨多个列获取最小值,并检查它们是否不等于默认值0.00

到目前为止,它工作正常,正如我预期的那样,远程服务器上的脚本版本工作正常

但是,在更改了列默认值和NULL状态(我试图看看是否可以使用NULL而不是0.00,在阅读了最少的文档之后,这不是我想要做的),然后重新导入我最初使用的表。它仍然无法像以前那样工作,因为没有明显的原因,我使用LEAST()的查询完全不返回任何内容、空数组,并且没有可见的错误消息

我重新启动了MySQL,刷新了表,提取了远程脚本在我的开发服务器上进行测试,但似乎什么都没用

在my dev和remote server上通过phpmyadmin对表运行相同的查询会返回相反的结果,在本地返回零行,在远程返回行,在这两个服务器上都有相同的解释结果(除了表中的#行)

从查询中删除LEAST()函数会在我的dev服务器上返回数据

以下是一个查询示例:

SELECT id, make, model, LEAST(r24ch10k, r36ch10k, r24ch15k, r36ch15k, r24ch20k, r36ch20k) AS lowest 
    FROM xml 
    WHERE LEAST(r24ch10k, r36ch10k, r24ch15k, r36ch15k, r24ch20k, r36ch20k) != 0.00         
    ORDER BY lowest LIMIT 5
我的本地服务器信息
服务器版本:5.1.51-community
Apache/2.2.16(Win32)PHP/5.3.3
MySQL客户端版本:mysqlnd 5.0.7-dev-091210-$Revision:300533$
PHP扩展:mysqli

我的远程服务器信息
服务器版本:5.0.51a-24+lenny5
Apache/2.2.16 PHP/5.3.3
MySQL客户端版本:5.0.51a
PHP扩展名:mysql


如果您能帮助解决此问题,我们将不胜感激。

不知道这是否有帮助

在MySQL 5.0.13之前,LEAST()返回 仅当所有参数都为NULL时才为NULL。 从5.0.13开始,如果有,则返回NULL 参数为空


在MySQL论坛的帮助下,我找到了答案

因为我要寻找的是最低值,所以将默认值设置为可能的最低值是我出错的地方

我已将列的默认值设置为高值(9999999999.99),添加到这些列的值将永远不会超过默认值

所以不是

WHERE LEAST(col1, col2, col3) != 0.00
我会用

WHERE LEAST(col1, col2, col3) != 99999999999.99

对,这确实有帮助,但当函数集中的列具有零NULL值,而定义的值为0.00时,LEAST()不应该返回NULL吗如果我有最小值(5.00,0.00,10.00,2.00),它将返回2.00,因为它不等于0。00@Dustin:0.00与
NULL
@即没有\u a\u名称的\u horse\u不相同-我不查找NULL,我查询的列中没有一行具有NULL值,其值为0.00或更大。如果任何列为NULL,是否希望
LEAST()
返回
0
?我希望返回指定列中不等于0.00的最小值。让我添加,表格是从XML源填充的,每列表示XML文件中的一个节点,如果节点没有值,表中的值默认为0.00。最大值返回不等于0.00的最大参数/值,即使COALESCE也会返回一个合适的集,但是我不能依靠COALESCE返回不等于0.00的最小值