获得两列的独特组合

时间:2017-05-29 23:04:02

标签: java mysql hibernate grails groovy

使用Hibernate,我希望得到以下行的值:

func paint(color: String)

将产生:

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

我可以在Grails上的Hibernate中解决这个问题吗?或者任何人都可以提供MySQL的实现。一直在和这个争斗很久。

2 个答案:

答案 0 :(得分:4)

您可以使用mysql least()greatest()运算符来确保较小的数字首先出现,而最高的数字出现在后面。这样你就可以使用distinct来消除重复:

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

答案 1 :(得分:0)

您可以将两列分组为:

从yourtable group中选择*(col1 + col2);