Mysql显示其他不同的单元格数据与同组下的组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql显示其他不同的单元格数据与同组下的组相关的知识,希望对你有一定的参考价值。
假设我有一个存储注册用户数据的表,这些记录可能具有相同的注册名称但不同的电子邮件,如下所示:
我想创建一个前视图来操纵那些数据,但我不希望那些同名显示,可以通过mysql语句查询输出结果如
到目前为止,这是我可以做的结果,但它不能将同一个名称绑定到一个。
select * from `register`
where `fullname` in (
select `fullname` from `register`
group by `fullname` having count(*) > 1
)
答案
你可以做的一件事是在重复行上做一个SELECT DISTINCT
,并利用MYSQL中的GROUP_CONCAT();
函数将你想要的值连接成一行,并使用GROUP BY fullname
来获得你想要的顺序。
请注意,我还将用户ID放入分组行,以便您可以跟踪哪些ID属于哪个名称。
SELECT
DISTINCT fullname as full_name,
GROUP_CONCAT(id SEPARATOR ', ') as user_ids,
GROUP_CONCAT(email SEPARATOR ', ') as emails
FROM
tbl_register
GROUP BY
tbl_register.fullname
这将是合乎逻辑的方式。希望这有帮助。 :)
有关GROUP_CONCAT();
函数的更多信息,请访问:https://dev.mysql.com/doc/refman/8.0/en/group-by-functions.html#function_group-concat
另一答案
试试这个:
SELECT DISTINCT *duplicate_column* FROM *table_name1* WHERE *col_id* IN (SELECT *cols_to_dusplay* FROM *table_name1* GROUP_BY *duplicate_column*
以上是关于Mysql显示其他不同的单元格数据与同组下的组的主要内容,如果未能解决你的问题,请参考以下文章