【发布时间】:2021-12-31 05:26:53
【问题描述】:
我有一张像下面这样的表格
| Column1 | Column2 |
|---|---|
| A | 200 |
| A | 200 |
| A | 0 |
| B | 300 |
| B | 200 |
| C | 100 |
我想把这张表变成下表
带计算:对于column1的每个元素,SUM(column2)/count of (non-zero column2)
| Column1 | Column2 |
|---|---|
| A | ((200+ 200 + 0) / 2) = 200 |
| B | ((300 + 200) / 2) = 250 |
| C | 100 / 1 = 100 |
我唯一能想到的就是循环遍历Column1 的不同元素并运行:
SELECT SUM(Column2)
FROM Table
WHERE Column1 = i / (SELECT COUNT(Column2)
FROM Table
WHERE Column1 = i AND Column2 <> 0)
并生成一个表格。
有更好的方法吗?
【问题讨论】:
标签: sql sql-server