SQL中两列的平均值

AKI*_*WEB 5 sql database postgresql average

我想取两列的平均值并在新列中显示,如下所示:

+-+--+--+--+--------+--------+
|A|B |C |D |AVG(B/C)|AVG(C/B)|
+-+--+--+--+--------+--------+
|S|23|34|56|        |        |
+-+--+--+--+--------+--------+
|T|45|6 |79|        |        |
+-+--+--+--+--------+--------+
Run Code Online (Sandbox Code Playgroud)

因此,如上所示,我需要获取每行值并执行 B/C,然后相应地取平均值以将其显示在新列中。

我想在 SQL 查询中执行此操作。是否可以在 SQL 命令中执行此操作?我知道该AVG()函数确实取一列的平均值,但我该怎么做B/C然后取平均值呢?另外,如果我还需要取 B 和 C 的平均值,我该怎么做。

这就是我现在正在做的事情:

Select A,B,C,D FROM tableTest where A='S';
Run Code Online (Sandbox Code Playgroud)

我现在必须取相应的平均值,并且在查询中另外添加两列来显示相应的结果。

Mar*_*zek 4

你应该尝试一下:

SELECT A, AVG((B+C)/2) as bc, AVG((C+B)/2) as cb
FROM tableTest
WHERE A = 'S'
GROUP BY A
Run Code Online (Sandbox Code Playgroud)

  • 应用两列的简单数学“AVG”应该与“AVG((Col1 + Col2) /2)”相同,不是吗? (4认同)