mysql - 您可以将类似的行分组在一列中,但将其他列分开吗?
问题描述
我正在尝试过滤我的数据,但在 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
解决方案
该脚本适用于 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
推荐阅读
- javascript - 未捕获的类型错误:无法读取未定义的属性“chooseEntry”(使用文件系统 API 开发 chrome 扩展时)
- c++ - 可能没有正确处理向量数组(BFS 找到到所有节点的最短距离)
- validation - Define custom validation annotation that extends an existing one - javaEE
- python - Python3,似乎无法掌握如何从单个文件中获取信息并将其分发给其他文件
- git - 本地文件不同步。使用 --force 选项运行“scm load”以使用工作区重新加载
- c# - 在 IIS 上运行时使用 net core 2 修改生成的 web.config 文件
- c# - 使用 ControlPaint.DrawBorder 为所有边框着色
- performance - Is there a difference between fun(n::Integer) and fun(n::T) where T<:Integer in performance/code generation?
- visual-studio-code - VScode - .liquid 文件中的 {% schema %} 或 {% stylesheet %} 标记内没有语法突出显示
- android - 使用旋转动画在图像中没有旋转