SQL 根据视图分组合并行
SQL combine rows based on group by in view
我有一个 table:
c1 c2
----------
A B
A C
X P
X Q
我如何创建一个将其显示为
的视图
c1 c2 c3
---------------
A B C
X P Q
您可以使用聚合:
select c1, min(c2) as c2, max(c2) as c3
from t
group by c1;
您可以自行加入 table:
select
t1.c1, t1.c2, t2.c2 as c3
from tablename t1 inner join tablename t2
on t1.c1 = t2.c1 and t1.c2 < t2.c2
参见demo。
结果:
| c1 | c2 | c3 |
| --- | --- | --- |
| A | B | C |
| X | P | Q |
我有一个 table:
c1 c2
----------
A B
A C
X P
X Q
我如何创建一个将其显示为
的视图c1 c2 c3
---------------
A B C
X P Q
您可以使用聚合:
select c1, min(c2) as c2, max(c2) as c3
from t
group by c1;
您可以自行加入 table:
select
t1.c1, t1.c2, t2.c2 as c3
from tablename t1 inner join tablename t2
on t1.c1 = t2.c1 and t1.c2 < t2.c2
参见demo。
结果:
| c1 | c2 | c3 |
| --- | --- | --- |
| A | B | C |
| X | P | Q |