2017-05-29 78 views
1

使用Hibernate,我想獲取值的行的不同組合,使得:獲得兩列

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

會產生:

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

我可以在Hibernate中得到了這一點上Grails的?或者任何人都可以提供這個MySQL的實現。這已經足夠長時間了。

回答

4

您可以使用MySQL least()greatest()運營商,以確保數量較少至上,最高是後話。這樣,您就可以使用不同的消除重複:

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

在我的情況下,列中的實際值是電話號碼,這是否仍然有效? – saopayne

+1

是的,它會,因爲MySQL可以命令字符串,而不僅僅是數字。 – Shadow

0

您可以將2個列,如:

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