mysql - 从具有非零值和空值的 mysql 字段中查找最大和最小值

标签 mysql

从mysql字段中查找最大和最小值,其结果不应该是

null

我们已经尝试过了,

SELECT LEAST(MIN(`product_price`), MIN(NULLIF(`product_special_price`,'0'))) as min_price,
    GREATEST(MAX(`product_price`), MAX(NULLIF(`product_special_price`,'0'))) as max_price
        FROM (`tbl`)            

在此,当未输入 product_special_price 时,我们会得到 NULL 结果

Example SQL FIDDLE

当前输出/问题:

enter image description here

最佳答案

您只需使用 WHERE 语句即可过滤掉 0NULL 值:

SELECT MIN(column) AS least, MAX(column) AS greatest
FROM table
WHERE column != 0 AND column IS NOT NULL

分别用相应的列和表替换columntable

关于mysql - 从具有非零值和空值的 mysql 字段中查找最大和最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36953824/

相关文章:

java - 由于外键损坏,Hibernate 无法重建表

PHP代码不创建数据库

mysql - LaravelWhereNotIn 只有一个数字

mysql - 不是那么简单的 SQL 查询

mysql - SQL 连接行项目

java - JDBC 抛出 MySQL 语法异常,尽管查询有效

mysql - 跨多行匹配,无需太多连接

javascript - 如何使用将响应发送回ajax并单独处理每个响应

MySQL 查询表是否在数据库中

mysql - 将自动增量字段更新为最高值 + 1