假设我有一个存储注册用户数据的表,这些记录可能有相同的注册名称,但有不同的电子邮件,如下所示:
我想创建一个前视图来操作那些数据,但我不想那些同名的重复显示,可以通过mysql语句查询来输出这样的结果
这是目前为止,我可以做的结果,但它不能绑定到一个相同的名字。
select * from `register`
where `fullname` in (
select `fullname` from `register`
group by `fullname` having count(*) > 1
)
2条答案
按热度按时间tnkciper1#
你可以做的一件事就是
SELECT DISTINCT
并利用GROUP_CONCAT();
函数将所需的值连接到一行中,然后GROUP BY fullname
得到你想要的订单。注意,我还将用户id放入一个分组行中,以便您可以跟踪哪些id属于哪个名称。
工作sql fiddle
这样做是合乎逻辑的。希望这有帮助。:)
更多关于
GROUP_CONCAT();
此处的函数:https://dev.mysql.com/doc/refman/8.0/en/group-by-functions.html#function_group-康卡特6yoyoihd2#
试试这个: