【发布时间】:2016-03-18 15:19:43
【问题描述】:
如果我有以下选择查询:
select col1, col2, col3, sum(value1) as col4, col5
from table1
group by col1, col2, col3, col5
如何添加 col6 = col4/col5?
【问题讨论】:
标签: sql sql-server group-by divide
如果我有以下选择查询:
select col1, col2, col3, sum(value1) as col4, col5
from table1
group by col1, col2, col3, col5
如何添加 col6 = col4/col5?
【问题讨论】:
标签: sql sql-server group-by divide
您无法访问 SELECT 子句中的别名。所以你必须重复sum(value1):
select col1, col2, col3,
sum(value1) as col4,
col5,
sum(value1) / col5 as col6
from table1
group by col1, col2, col3, col5
【讨论】:
在派生表中执行GROUP BY:
select col1, col2, col3, col4, col5, col4/col5 as col6
from
(
select col1, col2, col3, sum(value1) as col4, col5
from table1
group by col1, col2, col3, col5
) dt
【讨论】:
您可以在 select 语句中执行操作。但是,您不能在其中使用 SQL 语句的别名。所以你需要再次计算col4。只需添加sum(value1)/col5 as col6。
select col1, col2, col3, sum(value1) as col4, col5, sum(value1)/col5 as col6
from table1
group by col1, col2, col3, col5
【讨论】: