MYSQL Group By Multiple columns - 唯一列表

时间:2012-02-27 09:19:55

标签: mysql group-by

我有一张桌子' table1'它有2列,flange_startflange_end。我想查询一个唯一的法兰列表,无论它来自_start还是_end

我已尝试按flange_start进行分组,然后flange_end然后对结果进行分组。

有更好的方法吗?

2 个答案:

答案 0 :(得分:1)

我的提示是UNION:

select distinct(flange_start) as flange from table1
union distinct
select distinct(flange_end) as flange from table1

并链接到更多阅读:http://dev.mysql.com/doc/refman/5.0/en/union.html

答案 1 :(得分:0)

SELECT flange FROM 
  (SELECT flange_start as flange GROUP BY flange_start 
   UNION 
  SELECT flange_end as flange FROM table1 GROUP BY flange_end) 
GROUP BY flange

这个想法是你在UNION中得到唯一的法兰然后只选择外部查询中的一个。建议您使用GROUP BY而不是distinct,因为DISTINCT可能并不总是返回不同的值。

您可能还需要向flange_start和flange_end列添加索引以提高性能。