java - 获得两列的不同组合

标签 java mysql hibernate grails groovy

使用 Hibernate,我想获取这样的值行:

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

将产生:

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

我可以在 Hibernate on grails 中解决这个问题吗?或者任何人都可以提供这个的 MySQL 实现。已经抗争够久了。

最佳答案

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

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

关于java - 获得两列的不同组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44251243/

相关文章:

php - 关系数据库 - 在下拉列表中发送 id 值

MySQL:HAVING COUNT 'exact' 的问题,而不是 'at least'

java - 将多个actionListener添加到多个JButton

java charAt() 方法和代理

java - 我应该使用 for 循环还是 If 条件

php - 无法执行mysql语句

Hibernate 4.3.5 到 4.0.1 异常 org.hibernate.loader.MultipleBagFetchException

hibernate - 从persistence.xml创建实体管理器工厂后如何修改属性

java - 在java中使用hibernate连接到mysql数据库

java - 无对象的 Mockito 方法调用