博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql 表的多列交叉去重问题
阅读量:6844 次
发布时间:2019-06-26

本文共 571 字,大约阅读时间需要 1 分钟。

hot3.png

       有这样一个表relation(f1, f2, c), 要去查询表中记录,并且将不同记录中f1 =  f2, f2 = f1, c = c的结果去重,比如(a, b, c), (b, a, c)只保留一条记录。

       答案参考下面:

              select * from relation where (f1, f2, c) not in (select a.f1, a.f2, a.c from relation as a inner join relation as b on a.f1 = b.f2 and a.f2 = b.f1 and a.c = b.c where a.f1 > a.f2);

       这里面没有考虑a.f1 = a.f2, 加上这个条件,只需增加distinct:

              select distinct * from relation where (f1, f2, c) not in (select a.f1, a.f2, a.c from relation as a inner join relation as b on a.f1 = b.f2 and a.f2 = b.f1 and a.c = b.c where a.f1 > a.f2);

转载于:https://my.oschina.net/landry17h/blog/32975

你可能感兴趣的文章
ES6实现继承
查看>>
有擎企业系统v1.0.0 积木式搭建网站,页面构建更灵活
查看>>
小葵花妈妈课堂开课了:《Handler Looper Message 浅析》
查看>>
26.Azure备份服务器(下)
查看>>
Redhat 5.7登陆后提示证书丢失
查看>>
Python基础学习代码之面向对象编程
查看>>
我的友情链接
查看>>
Oracle Data Guard 理论知识(二)
查看>>
用wget一次下载所有链接, 下载文件夹
查看>>
Collect logs from the Windows servers
查看>>
HT图形组件设计之道(四)
查看>>
用vbs删除前一天创建的备份文件
查看>>
聊聊同步、异步、阻塞与非阻塞
查看>>
BlockingQueue队列生产者消费者示例
查看>>
excel VBA中如何模拟键盘输入
查看>>
YUV420查表法高效、无失真的转换为RGB32格式
查看>>
C# 程序中如何获取当前目录
查看>>
lucene初识
查看>>
我的友情链接
查看>>
网卡工作模式
查看>>