Mysql以相同名称显示组下的其他不同单元格数据

Mysql以相同名称显示组下的其他不同单元格数据,mysql,group-by,Mysql,Group By,假设我有一个存储注册用户数据的表,这些记录可能有相同的注册名称,但有不同的电子邮件,如下所示: 我想创建一个前视图来处理这些数据,但我不想重复显示那些同名的数据,mysql语句可以像这样查询输出结果吗 这是目前为止我能做到的结果,但它不能将相同的名称绑定到一个名称中 select * from `register` where `fullname` in ( select `fullname` from `register`

假设我有一个存储注册用户数据的表,这些记录可能有相同的注册名称,但有不同的电子邮件,如下所示:

我想创建一个前视图来处理这些数据,但我不想重复显示那些同名的数据,mysql语句可以像这样查询输出结果吗

这是目前为止我能做到的结果,但它不能将相同的名称绑定到一个名称中

    select * from `register` 
    where `fullname` in ( 
              select `fullname` from `register` 
              group by `fullname` having count(*) > 1 
    )
试试这个:

SELECT DISTINCT *duplicate_column* FROM *table_name1* WHERE *col_id* IN (SELECT *cols_to_dusplay* FROM *table_name1* GROUP_BY *duplicate_column*

您可以做的一件事是在重复行上执行
选择DISTINCT
,并使用
组_CONCAT()函数将所需的值连接到一行中,并
按全名分组
以获得所需的顺序

请注意,我还将用户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

这样做是合乎逻辑的。希望这有帮助。:)


有关
组_CONCAT()的更多信息此处的功能:

您是否有权从David De Gea获取数据?GDPR..我会在显示数据时在前端执行此操作