获得两列

问题描述:

使用Hibernate,我想获取值的行的不同组合,使得:获得两列

col1 | col2 
-------+------- 
    1 | 2 
-------+------- 
    2 | 1 
-------+------- 
    3 | 4 
-------+------- 
    4 | 5 
-------+------- 
    4 | 3 

会产生:

col1 | col2 
-------+------- 
    1 | 2 
-------+------- 
    3 | 4 
-------+------- 
    4 | 5 

我可以在Hibernate中得到了这一点上Grails的?或者任何人都可以提供这个MySQL的实现。这已经足够长时间了。

您可以使用MySQL least()greatest()运营商,以确保数量较少至上,最高是后话。这样,您就可以使用不同的消除重复:

select distinct least(col1, fol2) as col1, greatest(col1, col2) as col2 
from yourtable 
+0

在我的情况下,列中的实际值是电话号码,这是否仍然有效? – saopayne

+1

是的,它会,因为MySQL可以命令字符串,而不仅仅是数字。 – Shadow

您可以将2个列,如:

SELECT * FROM yourtable组由(COL1 COL2 +);