如何获取具有相同ID的行的分组信息的列? [复制]

Posted

技术标签:

【中文标题】如何获取具有相同ID的行的分组信息的列? [复制]【英文标题】:How to get a column with the grouped info of rows with the same id? [duplicate] 【发布时间】:2013-11-21 15:53:23 【问题描述】:

如何对多行数据进行分组?

我的数据结构类似于:

ID        NAME       PhoneNo
1         Jon        8798765
2         Jon        3134684
3         Adams      7968434
4         Phil       3435435
5         Thomas     6734354
6         Jon        2343545
7         Jeff       3435424
8         Adams      3434354

我需要使用 SQL 对信息进行分组,所以我得到如下信息:

ID        NAME       PhoneNo
1         Jon        8798765,3134684,2343545
3         Adams      7968434,3434354
4         Phil       3435435
5         Thomas     6734354
7         Jeff       3435424

看看我在那里做了什么?我在同一个字段中删除了所有电话号码并添加了所有电话号码,比较了姓名:同名=同一个人,所以将所有姓名放在同一个单元格上。 我目前正在使用 MS 访问,但我想任何其他变体都可以工作(我可以找到等效项)

【问题讨论】:

我同意 Gord ... 但希望补充一点,您的字段 ID 似乎没有添加任何值,因此它不属于结果。如果它应该增加价值,那么你最好考虑一下2,'6','8'等会发生什么。 【参考方案1】:

你要找的是mysql函数GROUP_CONCAT

如果您在 Access 中,只需使用受此启发的某种宏:is there a group_concat function in ms-access? 或 MSSQL Emulating MySQL’s GROUP_CONCAT() Function in SQL Server 2005

有个问题,你真正需要什么。

【讨论】:

以上是关于如何获取具有相同ID的行的分组信息的列? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何获取 SQL 中具有 MAX 和 MIN 值的行的 ID

连接具有相同值的行的列值(不同列的)

将 id 插入具有相同信息的行的 PL/SQL 过程

计算具有3个列值的行的出现次数相同的MySQL

如何获取聚合函数选择的行的id? [复制]

聚合具有两个或多个具有相同值的列的行