gpt4 book ai didi

mysql - 扁平化 mysql 中的非主键列

转载 作者:搜寻专家 更新时间:2023-10-30 21:57:49 27 4
gpt4 key购买 nike

我需要在 mysql 中用逗号分隔值将非主键列展平为一行。让我们举一个简单的例子。有一个名为 stud_sub 的表,其中 stud_id 和 sub_id 作为复合主键。现在我想要一个表,其中 stud_id 将是主键,而 sub_ids 将是行中用逗号分隔的值,如下面的 stud_sub_flat 表所示。

stud_sub
----------
stud_id sub_id
1 1
1 2
1 3
2 1
2 2
3 2
3 3

stud_sub_flat
-------------
stud_id sub_id
1 1,2,3
2 1,2
3 2,3

有什么办法可以实现吗?

最佳答案

尝试一下

select stud_id, group_concat(sub_id) as sub_ids  from stud_sub group by stud_id

此选择会给出您想要的输出。

此选择查询输出使用插入选择查询存储在表 stud_sub_flat 中。

insert into stud_sub_flat (stud_id,sub_id) 
select stud_id, group_concat(sub_id) as sub_ids from stud_sub group by stud_id

引用:group_concat() , Insert .... select

关于mysql - 扁平化 mysql 中的非主键列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34328595/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com