Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以在MSSQL的WHERE子句中使用SUM函数的结果吗?_Sql_Sql Server_Aggregate Functions - Fatal编程技术网

我可以在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


@丹尼尔,我希望这对你有帮助