我有一张桌子
| ID | V1 | V2 |
| 100 | 1 | 1 |
| 100 | null | 1 |
| 101 | null | null |
| 101 | 1 | 1 |
| 102 | 1 | null |
| 102 | 1 | null |
需要样本输出:
ID 100在至少一行中具有V1值,因此需要1
与ID 101相同,至少其中一行具有V1值,因此需要1
ID 102两行都没有V2值,因此需要为空
必填输出
| ID | V1 | V2 |
| 100 | 1 | 1 |
| 101 | 1 | 1 |
| 102 | 1 | null |
试图将这些值合并到一个列表中并获得最大值
有没有更简单的功能可以实现这一目标?
答案 0 :(得分:1)
您可以进行聚合:
select id, max(v1) as v1, max(v2) as v2
from table t
group by id;
答案 1 :(得分:1)
select ID, max(V1) as V1, max(V2) as V2 from table group by ID;