我正在尝试过滤数据,但在Column1下遇到类似的行值。每行的Column2和Column3值不同。
| Column1 | Column2 | Column3
|---------|---------|--------
| a | 1 | 6
| b | 2 | 7
| a | 3 | 8
| c | 4 | 9
| b | 5 | 10
是否可以对Column1值进行分组,但将Column2和3分开? Column1的顺序无关紧要。
| Column1 | Column2 | Column3
|---------|---------|--------
| a | 1 | 6
| | 3 | 8
| c | 4 | 9
| b | 2 | 7
| | 5 | 10
答案 0 :(得分:0)
此脚本可在mysql 8上运行
drop table if exists t;
create table t (col1 char(1), col2 int, col3 int);
insert into t values ('a',1,6);
insert into t values ('b',2,7);
insert into t values ('a',3,8);
insert into t values ('c',4,9);
insert into t values ('b',5,10);
select
case when col1_1 > 1 then '' else col1 end as col1
,col2
,col3
from
(
select
col1
,row_number() Over(partition by col1 order by col1) col1_1
,col2
,col3
from t
) x