作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我们假设我已经有一个查询,它以一种非常简单的方式向我提供了我想要的邮件数据:姓名、地址、城市、州、 zip 。但是,如果该文件大约有 20k,那么会有相当多的人拥有完全相同的地址。
显然,执行 GROUP BY Address
删除任何重复项很简单。但我遇到的问题是无法更新名称以包含邮寄者的两个人。
如果这是原始数据中的两行:
Name Address City State Zip
Jerry Seinfeld 129 West 81st Street New York NY 10024
Elaine Benes 129 West 81st Street New York NY 10024
我希望查询输出结果为一行,名称如下所示:
Name Address City State Zip
Jerry Seinfeld & Elaine Benes 129 West 81st Street New York NY 10024
如果我们想变得更有趣,如果他们也有相同的姓氏并在脚本中包含一些相关内容,那么如果他们的姓氏都是“Seinfeld”,那么输出将是:
Name Address City State Zip
Jerry & Elaine Seinfeld 129 West 81st Street New York NY 10024
所以一般来说,我只是在寻找一些 SELECT *
类型的查询,其中包含这些地址,但也包括更新名称的内容。谢谢!
最佳答案
下面的查询会很好, self 测试:
SELECT
IF(COUNT(T1.Address) = (SELECT COUNT(DISTINCT T2.Last) FROM t1 T2 WHERE T2.Address = T1.Address), GROUP_CONCAT(T1.First," ",T1.Last SEPARATOR ' & '), CONCAT(GROUP_CONCAT(T1.First SEPARATOR ' & '), ' ',T1.Last)) Name
FROM t1 T1
GROUP BY T1.Address
关于MySQL 家庭 : Group Duplicate Addresses And Update Names to Include Both People,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31142802/
我是一名优秀的程序员,十分优秀!