【发布时间】:2020-11-03 14:46:17
【问题描述】:
【问题讨论】:
-
(1) 用您正在使用的数据库标记您的问题。 (2) 你的表有主键吗?
-
请用您正在运行的数据库标记您的问题:mysql、oracle、sqlserver...?
标签: sql count subquery sql-server-2017
【问题讨论】:
标签: sql count subquery sql-server-2017
为什么要返回重复值?只需汇总并返回计数:
select fullname, address, count(*) as cnt
from t
group by fullname, address
having count(*) >= 2;
【讨论】:
一个选项使用窗口函数:
select *
from (
select t.*, count(*) over(partition by fullname, address) cnt
from mytable t
) t
where cnt > 1
如果你的表有一个主键,比如id,你也可以使用exists:
select t.*
from mytable t
where exists (
select 1
from mytable t1
where t1.fullname = t.fullname and t1.address = t.address and t1.id <> t.id
)
【讨论】: