gpt4 book ai didi

mysql - 如何使用 SQL 删除给定表中的冗余记录

转载 作者:行者123 更新时间:2023-11-29 03:47:57 25 4
gpt4 key购买 nike

如何使用 SQL 删除给定表中的冗余记录?

FROM   |  TO      | TIME
========================
USA | CHINA | 4
USA | AFRICA | 2
CHINA | USA | 4
CALI | NEWZLND | 3

这里的 USA to CHINA & CHINA TO USA 是多余的记录,我只要求其中一个进入决赛 table 。我必须如何为此编写 sql 查询?

最佳答案

试试看。

fiddle :http://sqlfiddle.com/#!9/c3211/2

顺便说一句:更改了您的列名。不要使用 FROM、TO 和 TIME 等保留字...

CREATE TABLE tbl(FromColumn VARCHAR(100),ToColumn VARCHAR(100),TIMEColumn INT);

INSERT INTO tbl VALUES
('USA','CHINA',4)
,('USA','AFRICA',2)
,('CHINA','USA',4)
,('CALI','NEWZLND',3);

SELECT *
FROM tbl AS tbl
WHERE (SELECT COUNT(*)
FROM tbl AS x
WHERE x.FromColumn>x.ToColumn
AND x.FromColumn=tbl.ToColumn
AND x.ToColumn=tbl.FromColumn
AND x.TIMEColumn=tbl.TIMEColumn
)=0;

关于mysql - 如何使用 SQL 删除给定表中的冗余记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33031217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com