mysql的distinct如何作用到多个列上? 每个列的每个值都不重复的那种

如我有三个列(a,b,c),值的情况如下图

图片描述

我要查出的结果集为:
a列值唯一,b列值唯一,c列值唯一.

也就是说单独看三个列中的每个列值,都是不能重复的。

普通的select distinct a,b,c 无法完成需求,普通的distinct只能对a,b,c列三者合一后进行去重判断,但我需要的是三个列单独拿出来都是去重的,如何做?

阅读 3.6k
2 个回答
select 
(SELECT group_concat(DISTINCT a) FROM table) as a,
(SELECT group_concat(DISTINCT b) FROM table) as b,
(SELECT group_concat(DISTINCT c) FROM table) as c

之前看错了,
这个问题三列distinct长度如果不一样,得到的结果不唯一

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题