gpt4 book ai didi

mysql数据转储格式化

转载 作者:行者123 更新时间:2023-11-30 23:36:42 26 4
gpt4 key购买 nike

我的任务是创建一个 .sql 批处理文件来查询包含用户/服务器/组信息的 MySQL 数据库(版本:4.1.13-标准),例如。

用户1 服务器1 组1,组2

user1 server2 group1,group3

用户1 服务器3 组5

用户2 服务器2 组2

用户2 服务器5 组2

用户 3 服务器 4 组 4

诀窍在于,输出文件的格式必须使每个用户一行包含所有服务器和组信息。所以上面的例子看起来像:

"user1","server1:group1-group2;server2:group1-group3;server1:group5"

"user2","server2:group2;server5:group2"

"user3","server4:group4"

如果之前有人回答过这个或类似的问题,我深表歉意。我保证我花了几个小时寻找解决方案但没有找到。或者我看到的时候没有意识到。换句话说,无论怎么想,我都不是 DBA,而且我对 mysql 所知甚少,不足以解决这个问题。

到目前为止,我得到的最接近的是使用:

select concat(name,',',group_concat(concat(trim(hostname),':',replace(trim(groups),',','-'))separator ';'))

感谢您提供的任何帮助。

最佳答案

我对我的一个数据库进行了一些尝试,得到的结果与您的预期结果非常相似,因为我没有像您这样结构化的数据库。

尝试

SELECT CONCAT(
t.name, ',', GROUP_CONCAT(
DISTINCT CONCAT(TRIM(t.hostname),':', REPLACE(TRIM(t.groups),',','-'))
SEPARATOR ';')
) FROM table_name t GROUP BY t.name

我想,DISTINCT 和 GROUP BY t.name 可能是神奇的词;)

关于mysql数据转储格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6765722/

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