mysql - SQL HAVING 子句中的算术运算符

标签 mysql sql database having dml

我可以在 SQLhaving 子句中使用算术运算符吗?因为据我所知,算术运算符只允许在 SELECT 和 WHERE 子句中使用。但是下面的代码对我来说是有意义的,但我知道它没有任何作用。有什么建议吗?

 SELECT E.name
 FROM Example E
 GROUP BY E.name
 HAVING COUNT(*) + 2 > 4

最佳答案

是的,您可以在 HAVING 子句中使用“算术运算符”。

HAVING 子句中的表达式将被计算为 bool 值。

<小时/>

注意:确保优先顺序符合您的预期,例如

( COUNT(*) + 2 ) > 4 

对比

COUNT(*) + ( 2 > 4 )

在您的示例中,实际上并不需要添加;该表达式可以替换为逻辑上等效的表达式:

COUNT(*) > 2

关于mysql - SQL HAVING 子句中的算术运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20235748/

相关文章:

javascript - pg-promise 删除元组集的快速方法

sql - Oracle SQL 无效参数

mysql - mysql 查询是否有可能返回真/假而不是值?

php - 如何将模型值传递给 Controller ​​?

java - 没有连接表的多对多关联

java - hibernate java程序会不会没有sql代码?

php - 在数据库中查找、获取和替换部分字符串的最快方法

php - 在查询数据库或数据库处理之前检查输入的长度(太大)是否值得?

php - 如果已经存在则不要插入条目

php - 如何在MySQL中进行多个Left Join和多个Where?