SQL语句如何去除重复记录(不是用distinct去除重复的列哦!)

我有id1,id2两列,我想把诸如1,2和2,1这样的组合去掉,仅保留1,2或者2,1其中之一。请问用sql语句如何实现??... 我有 id1,id2 两列,我想把诸如 1,2 和2,1这样的组合去掉,仅保留1,2或者2,1其中之一。
请问用sql语句如何实现??
展开
 我来答
sysplay
2016-05-14 · TA获得超过1155个赞
知道小有建树答主
回答量:663
采纳率:86%
帮助的人:537万
展开全部

原理:id1和id2不管哪个大哪个小,总有id1+id2相等,id1*id2相等。

1、假如表中有不重复的字段,例如自动增长的id字段。

SELECT
*
FROM
t
WHERE
id IN (
SELECT
min(id)
FROM
t
GROUP BY
id1 + id2,
id1 * id2
)

2、假如表中只有id1和id2字段

SELECT
*
FROM
t t1
WHERE
id1 <= ALL (
SELECT
t2.id1
FROM
t t2
WHERE
t1.id1 + t1.id2 = t2.id1 + t2.id2
AND t1.id1 * t1.id2 = t2.id1 * t2.id2
)
追问
谢谢~
请问t t2是什么意思呀?
因为我只有一个表啊。
注:表中没有不重复的字段,只有id1和id2两个字段。
追答
表名是t,第二个查询中的t1和t2都是别名
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式