gpt4 book ai didi

sql - 在 SQL 连接中过滤重复项

转载 作者:可可西里 更新时间:2023-11-01 08:08:15 26 4
gpt4 key购买 nike

当使用 SQL 连接时,是否可以只保留左表中只有一行的行?

例如:

select * from A, B where A.id = B.a_id;

a1 b1
a2 b1
a2 b2

在这种情况下,我想删除除第一行以外的所有内容,其中 A 中的一行恰好与 B 中的一行匹配。

我正在使用 MySQL。

最佳答案

这应该适用于 MySQL:

select * from A, B where A.id = B.a_id GROUP BY A.id HAVING COUNT(*) = 1;

对于那些不使用 MySQL 的人,您将需要在所有列(A.id 除外)上使用聚合函数(如 min() 或 max()),这样您的数据库引擎就不会报错。

关于sql - 在 SQL 连接中过滤重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3029787/

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