SQL语句如何去除重复记录(不是用distinct去除重复的列哦!)
我有id1,id2两列,我想把诸如1,2和2,1这样的组合去掉,仅保留1,2或者2,1其中之一。请问用sql语句如何实现??...
我有 id1,id2 两列,我想把诸如 1,2 和2,1这样的组合去掉,仅保留1,2或者2,1其中之一。
请问用sql语句如何实现?? 展开
请问用sql语句如何实现?? 展开
1个回答
展开全部
原理: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都是别名
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询