在SQL中添加一个新列,用于计算其他列的值

时间:2016-10-21 12:14:42

标签: mysql sql sql-server

我试图在SQL中创建一个新列,它从同一个表中的其他列计算了值。

请参阅下面的案例

col1 col2
A    1   
A    2
B    1
B    2
B    3

我需要创建一个新列'col3',它找到col1分组的col2的最大值。所以我想要的结果是

col1 col2 col3
A    1    2   
A    2    2
B    1    3
B    2    3
B    3    3

我想知道查询是否可以是下面的内容

ALTER TABLE table1 ADD col3 AS (SELECT max(col2) GROUPBY col1)

1 个答案:

答案 0 :(得分:2)

您不需要ALTER声明,可以在SELECT查询中获取额外的列,例如

select col1, col2, max(col2) as col3
from tbl1
group by col1