1 子用户 | |
用户 1 | 1 子用户 |
1 子用户 | |
2 子用户 | |
用户 2 | 2 子用户 |
用户 1 和用户 2 最好可以类似于 Excel 中的合并单元格 合并掉上下的空行.
1
littlecap 2022-01-13 11:17:42 +08:00 via iPhone
搜一下 for xml path('')
|
2
Unicorns96 2022-01-13 11:36:12 +08:00
group by
|
3
totoro52 2022-01-13 11:45:29 +08:00
SQL 一大堆函数可以玩的 肯定可以
|
4
zgc27wo 2022-01-13 12:05:14 +08:00
select 用户, GROUP_CONCAT(子用户) from 表 group by 用户; 子用户是 [ 2 子用户,2 子用户 ] 这样的形式.
|
5
singerll 2022-01-13 12:23:09 +08:00 via Android
结果集上能做到,但合并单元格这个格式我觉得不能。。。
|
6
2i2Re2PLMaDnghL 2022-01-13 12:40:35 +08:00 2
合并单元格是破坏表格的行为,逻辑上来说就行不通。倒不如说合并单元格本身就是糟糕的设计。
|
7
c6h6benzene 2022-01-13 13:03:06 +08:00 via iPhone
合并单元格是展示时候的需求吧,你 select 的结果集也要做到这效果…?
|
8
RedBeanIce 2022-01-13 13:10:58 +08:00
建议前端去做。。mysql 这个做不到吧
|
9
vanton 2022-01-13 14:06:15 +08:00
这是前端的活,拿到数据前端自行组织。
后端不要考虑这种花活,除了增加负担、更容易出错外,没任何好处。 |
10
vincent7245 2022-01-13 14:09:52 +08:00
SELECT
CASE WHEN FIRST_B=B THEN A ELSE '' END AS A_VALUE, B FROM (SELECT FIRST_VALUE(B) OVER(PARTITION BY A ORDER BY B) AS FIRST_B, A, B FROM T) T0 |
11
flyingghost 2022-01-13 14:14:51 +08:00
反向思考一下,关系型数据库做不到合并单元格,但可以“拆分”单元格啊。
用户 1, {"1 子用户", "1 子用户", "1 子用户"} 用户 2, {"2 子用户", "2 子用户", "2 子用户"} 返回这么两行就行了。/手动狗头 |
12
WhereverYouGo 2022-01-13 14:18:09 +08:00
row_number() over(partition by xxx) ?
|
13
wunonglin 2022-01-13 14:57:49 +08:00
这个是展示端的功能,和数据库有毛线关系
|
14
final7genesis 2022-01-13 14:59:39 +08:00
让前端去搞, 前 n 列相同的自动合并
|
15
Kilerd 2022-01-13 15:03:26 +08:00
合并单元格应该做不到吧,但是可以 sort by 用户,然后 row_number partition by 用户,然后 row_number = 0 才显示用户名
|