作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 MySQL 选择查询获取地址标签的人员姓名和地址。不止一个人可能住在同一个地址,所以我做了一个 GROUP CONCAT 将他们的名字和一个地址结合起来。
正确地给我这样的称呼
这很好,但它也给了我
这很糟糕,因为姓氏相同但会重复。
有没有办法执行 GROUP_CONCAT 行,以便我得到重复的姓氏只显示一次例如
我使用的sql的重要一点是
SELECT
GROUP_CONCAT(
CONCAT_WS ( ' ', title , forname_1 , forename_2, surname )
SEPARATOR ' & '
) AS Salutation,
addresses.the_address
FROM
people
JOIN
addresses
ON
addresses.address_id = people.address_id
GROUP BY
people_address_id
(这篇文章 mysql GROUP_CONCAT duplicates 展示了如何从仅涉及一个字段的 Group_concat 中删除重复项,但我看不到如何使用多字段 concat 的一部分和这个 mysql GROUP_CONCAT DISTINCT multiple columns 提供了一个解决方案,但我将其用作
时出现语法错误GROUP_CONCAT(DISTINCT CONCAT_WS ( ' ', title , forname_1 , forename_2, surname ) GROUP BY surname SEPARATOR ' & ') AS Salutation,
最佳答案
您可以在 group_concat() 中使用 'distinct' 来删除重复项。
例如,假设您有多个所有者的保单。您有一个名称列表和一个策略列表。 Alice 和 Bob 都是策略 123 的所有者,您不希望:
名字:爱丽丝,鲍勃,爱丽丝,鲍勃
您可以使用:
select group_concat(distinct names.customerNames) from names where names.policyId=policies.policyId) as 'policy owners',
在“名称”和“策略”表之间的连接中。
关于mysql - 如何在 GROUP_CONCAT MySQL 中抑制重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26125978/
我是一名优秀的程序员,十分优秀!