mysql - 在mysql中的两列无序对中提取重复项
问题描述
对于给定的结构
personA personB text
tom jack hello
jack tom hi there
通过使用 mysql,我想将两行分组为一组,我想将 (a,b) 和 (b,a) 对视为相同。
因此,当执行 SELECT * FROM table group by (personA) 之类的查询时,我只想得到结果
personA
test
是否有任何可能的sql语句可以实现这一点?
解决方案
我可能会在这里使用最小/最大的技巧:
SELECT DISTINCT
LEAST(personA, personB) AS first,
GREATEST(personA, personB) AS second
FROM yourTable;
推荐阅读
- ruby - 用于执行 shell 命令的 metasploit ruby 脚本
- database - 选择数据库的内容并在 Laravel 中的视图中显示
- r - 如何使用 R 读取带有两个双引号作为文本限定符的 csv?
- ssis - SSIS 容器执行细节?
- java - 线程“JavaFX 应用程序线程”中的异常 java.lang.NoClassDefFoundError: javafx/scene/control/ButtonBar
- apache-camel - 与骆驼码头和骆驼servlet相比,骆驼restlet的性能更好-有什么具体原因吗?
- spring - 将数据传递给未来的步骤 - Spring Batch
- node.js - 在节点 js 中解析正文导致“第一个参数必须是字符串或缓冲区”
- sql - SQL - 使用逻辑运算符(括号放在哪里)
- oracle - 如何使用 PL/SQL 读取 Oracle 目录的所有文件并更新 BLOB 列