sql查询以选择两列中具有相同id但不同值的记录
Posted
技术标签:
【中文标题】sql查询以选择两列中具有相同id但不同值的记录【英文标题】:sql query to select record having same id but different values in two columns 【发布时间】:2021-03-18 01:22:00 【问题描述】:我尝试了几个小时并阅读了很多帖子,但我仍然不知道如何处理这个请求
我有一张这样的桌子
Name Phone
John 62778282
Alok 67828888
Rahul 68999999
Yash 97788899
John 99989999
Rahul 99992222
输出应该是这样的:
Name Phone
John 62778282 , 99989999
Alok 67828888
Rahul 68999999 , 99992222
Yash 97788899
请任何人帮助我得到这个结果
【问题讨论】:
查看this 问题。它的情况比你的要复杂一些,但它正在使用你需要的东西。您需要将电话号码分组并按名称分组。 这能回答你的问题吗? How to use GROUP_CONCAT in a CONCAT in mysql 你提到了 php,所以考虑在那里处理显示问题 【参考方案1】:Group By
和GROUP_CONCAT
SELECT Name, GROUP_CONCAT(Phone) AS Phone FROM phonetable GROUP BY Name
【讨论】:
【参考方案2】:在这种情况下,您可以将 GROUP_CONCAT 与 GROUP BY 一起使用:
SELECT
`Name`,
GROUP_CONCAT(`Phone`) AS `Phone`
FROM `Table`
GROUP BY `Name`;
结果SQL query
+=======+===================+
| Name | Phone |
+=======+===================+
| Alok | 67828888 |
| John | 62778282,99989999 |
| Rahul | 62778282,99992222 |
| Yash | 97788899 |
+-------+-------------------+
【讨论】:
以上是关于sql查询以选择两列中具有相同id但不同值的记录的主要内容,如果未能解决你的问题,请参考以下文章