我可以在MSSQL的WHERE子句中使用SUM函数的结果吗?
例如,假设我有我可以在MSSQL的WHERE子句中使用SUM函数的结果吗?,sql,sql-server,aggregate-functions,Sql,Sql Server,Aggregate Functions,例如,假设我有 SELECT sum(...) as total 我能做点像这样的事吗 WHERE total > 10 当我尝试实际语法时,我得到一个错误 无效的列名“total” 如果将sum与分组依据一起使用 select sum(...) group by Col1 having sum(...) > 10 select sum(...) having sum(...) > 10 无分组依据 select sum(...) group by Col1
SELECT sum(...) as total
我能做点像这样的事吗
WHERE total > 10
当我尝试实际语法时,我得到一个错误
无效的列名“total”
如果将
sum
与分组依据一起使用
select sum(...)
group by Col1
having sum(...) > 10
select sum(...)
having sum(...) > 10
无分组依据
select sum(...)
group by Col1
having sum(...) > 10
select sum(...)
having sum(...) > 10
如果要使用列名,则需要将查询放置在子查询中
SELECT * FROM (
SELECT sum(...) as total
) as T
WHERE total > 10
“除非某一集合在某一集合中,否则该集合不得出现在WHERE条款中
HAVING子句或select列表中包含的子查询,以及列
聚合是一种外部引用”
拥有类似于使用聚合函数的WHERE,也可以使用子查询
select name, sum(amount) as total
from table
group by name
having sum(amount) > 10
或
@丹尼尔,我希望这对你有帮助