gpt4 book ai didi

MySQL 值在一列中,仅用逗号分隔

转载 作者:行者123 更新时间:2023-12-01 00:38:28 25 4
gpt4 key购买 nike

所以我有一个查询将大量数据放在一起,我希望它只有一行 vs x 数量,它只是一个,但最后一个列 Product ID 只是全部在一行中,示例数据:

ID  FN      LN      MEM     REP     EMAIL                   PID
001 Test User 1001 1001 testemail@gmail.com 001
001 Test User 1001 1001 testemail@gmail.com 002
001 Test User 1001 1001 testemail@gmail.com 003
001 Test User 1001 1001 testemail@gmail.com 004
001 Test User 1001 1001 testemail@gmail.com 005
001 Test User 1001 1001 testemail@gmail.com 006
001 Test User 1001 1001 testemail@gmail.com 007

但希望输出为:

001 Test    User    1001    1001    testemail@gmail.com     001,002,003,004,005,006,007

我的 SQL 知识不是很强,所以我有点迷路了,任何帮助都会很棒。我尝试了 GROUP BY,但第四列中的一些数据作为不同的值,因此它并不总是有效。

最佳答案

您正在寻找 GROUP_CONCAT 以及 GROUP BY

SELECT ID, LN, EMAIL, GROUP_CONCAT(PID) as products
FROM tableName
GROUP BY ID

或者类似的东西。 GROUP_CONCAT(productID) 会将它们组合成一行,GROUP BY 告诉它如何将这些行组合在一起。

如果您删除 GROUP BY,您将获得包含找到的所有结果的一行。如果您添加它,它会告诉它如何组合行,匹配哪个字段。

关于MySQL 值在一列中,仅用逗号分隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40981049/

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