MYSQL HAVING 包含不存在的条目

标签 mysql group-by having

我想选择最大值 s2.maxcol 或 0(如果没有条目)。 到目前为止,这是可行的,但如果没有相应的条目,则不会返回:

SELECT MAX( s2.maxcol) AS max_col, s1 . *
FROM table AS s1
LEFT JOIN table AS s2 ON s2.parent = s1.id
GROUP BY s1.id
HAVING max_col <100

但我也希望左连接返回没有相应条目的行(因此 max(s2.maxcol) 应该为 0。

我该如何解决这个问题?

最佳答案

我只是快速浏览了一下,现在就必须离开。但也许COALESCE可能会有所帮助。这是info

也许是这样的? (未经测试!)

SELECT COALESCE(MAX(s2.maxcol), 0) AS max_col, s1 . *
FROM table AS s1
LEFT JOIN table AS s2 ON s2.parent = s1.id
GROUP BY s1.id
HAVING max_col <100

希望有帮助。再见!

关于MYSQL HAVING 包含不存在的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9150902/

相关文章:

MySQL - 语法错误

mysql - 这个查询真的不安全吗?

子字符串不循环的 MySQL GROUP BY

Mysql查询不同的group by

postgresql - Postgres Slow group by query with max

sql - 仅对具有多行的组求和值

php - 计算总行数

php - XAMPP 管理器无法在 OS X 上启动服务器,但可以在终端上运行

mysql - 使用 SQL 查找公共(public)行

sql-server - SQL Server - 每个地区的顶级销售人员