mysql - 在 MySQL 中的两列上过滤不同的内容

标签 mysql sql

我有下表

+-------------------+----------------------+
| original_language | translation_language |
+-------------------+----------------------+
| en                | pl                   |
| en                | ru                   |
| pl                | en                   |
| pl                | ru                   |
| ru                | pl                   |
+-------------------+----------------------+

现在有一些重复项,例如 en - plpl - en,但我想删除它们。

所以结果应该是这样的

+----+----+
| en | pl |
| en | ru |
| pl | ru |
+----+----+

我使用 group by 来过滤结果,但我认为我应该使用其他东西或者只是在服务器端过滤结果数组。

最佳答案

这可能对你有用:

SELECT DISTINCT
    least(original_language,translation_language) as Col1,
    greatest(original_language,translation_language) as Col2
FROM MyTable

关于mysql - 在 MySQL 中的两列上过滤不同的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43431525/

相关文章:

java - 使用更新语句创建列

php - Phalcon:不能在 where/having 子句中使用别名列

MySQL 时间平均值(以毫秒为单位)

python - django 中的索引删除

sql - 计算日期字段的变化(在一段时间内)

sql - 插入包含单引号和双引号的 HTML 字符串的查询

mysql - SQL查询多表连接信息

mysql - 从表中选择前 N 行

mysql - 如何修复以逗号分隔方式存储信息的数据库

mysql - Woocommerce 通过自定义查询获取产品