创建一个列,该列是表中其他一些列的平均值 -SQL

问题描述 投票:0回答:1

我的数据库包含一个表,其中包含一些列,例如:

C1 int, C2 int, C3 int

我想在表格中添加另一行,其中包含这三个成绩的平均值:

ALTER TABLE Avg:
ADD COLUMN ...??

但我想此列 (Avg) 仅在 C1、C2 和 C3 不为空时计算它们的平均值。

例如一行 C1 值为 2 ,C2 值为 null,C3 值为 3,则 Avg 必须为 (2+3) / 2 或者另一行C1值为4,C2值为5,C3值为6,则Avg必须为(4+5+6) / 3 谢谢。

sql mysql sql-server ssms
1个回答
0
投票
ALTER TABLE (table_name)
ADD average_column FLOAT;

UPDATE your_table
SET average_column = (isnull(c1,0) + isnull(c2,0) +isnull( c3,0))*1 / 3;
select * from marks

希望你能得到 SQL 的分数

© www.soinside.com 2019 - 2024. All rights reserved.