sql - 我可以在 MSSQL 的 WHERE 子句中使用 SUM 函数的结果吗?

标签 sql sql-server aggregate-functions

例如假设我有

SELECT sum(...) as total

我可以做类似的事情吗

WHERE total > 10

当我尝试实际的语法时,我得到一个错误

invalid column name 'total'

最佳答案

如果您使用 sumgroup by

select sum(...) 
group by Col1 
having sum(...) > 10

没有分组依据

select sum(...) 
having sum(...) > 10 

如果你想使用列名你需要将查询放在子查询中

SELECT * FROM (
   SELECT sum(...) as total 
) as T
WHERE total > 10

关于sql - 我可以在 MSSQL 的 WHERE 子句中使用 SUM 函数的结果吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48479037/

相关文章:

mysql - 基于 3 个表的 Outer Join

mysql - Microsoft SQL 如何从行构建表

sql-server - 如何将在 Docker 容器中运行的 Flyway 连接到在 Docker 容器中运行的数据库?

sql-server - 是否可以在 Active Directory 中存储数据库连接字符串信息?

sql-server - 您在 SQL Server 上优化大型表(+1M 行)的方法是什么?

MySQL 在多对多关系中包含 0

postgresql - 为内置聚合函数创建别名

sql - PostgreSQL:如何实现最小基数?

sql - SQL中如何消除重复计算?

mysql - mysql表的统计聚合