SQL 计算列值的总和并在所有行上重复此值

vdv*_*xel -1 mysql sql

假设我有一张这样的表:

COL1    COL2
ABC     1
DEF     2
GHI     3
Run Code Online (Sandbox Code Playgroud)

我想在新列 COL3 中包含 COL2 的总和:

COL1    COL2   COL3
ABC     1      6
DEF     2      6
GHI     3      6
Run Code Online (Sandbox Code Playgroud)

所以取一个简单的总和是行不通的,因为它只会返回 1 个值,而我希望该值在所有行中重复。

Din*_*hDB 5

尝试这个:

SELECT *
  ,(SELECT SUM(Col2) FROM Your_Table) Col3 
FROM Your_Table
Run Code Online (Sandbox Code Playgroud)

在 SQL Server 中试试这个:

SELECT *
  ,SUM(Col2) OVER(ORDER BY(SELECT NULL)) Col3 
FROM Your_Table
Run Code Online (Sandbox Code Playgroud)