所以我想做一些类似以下sql代码的事情:

select s.id, s.name,s.city 
from stuff s
group by s.name having count(where city and name are identical) > 1

要生成以下内容(但忽略只有名称或城市匹配的地方,必须在两列上):

id      name  city   
904834  jim   London  
904835  jim   London  
90145   Fred  Paris   
90132   Fred  Paris
90133   Fred  Paris

推荐答案

namecity对重复id次:

select s.id, t.* 
from [stuff] s
join (
    select name, city, count(*) as qty
    from [stuff]
    group by name, city
    having count(*) > 1
) t on s.name = t.name and s.city = t.city

Sql相关问答推荐

BigQuery`喜欢ANY‘和`不喜欢ANY’

SQL Oracle条件分组依据

在SQL中使用类别值将行转置为列

如何在postgres函数中插入后返回布尔值?

如何从Spark SQL的JSON列中提取动态数量的键值对

Pgsql-返回包含多行数据的行

在Netezza SQL中将字符DataType转换为整型DataType

在WHERE EXISTS子查询中,列返回是否重要?

如何在MS Access中基于另外两个表自动填充一个表中的字段?

为什么左联接结果在MS Access数据库中不匹配

YEAR 函数仍然不可SARGable 吗?

删除对 JSON 数据的未解析引用的 SQL71502 警告

在 PostgreSQL 中,如何让多个判断约束引用相同的值数组?

如何在 JSONB 数组的每个对象中添加新的键值对- PostgreSQL

MS ACCESS 错误插入 X(...) 从 A 联合 Select ... 从 B

如何通过子 Select 在一次更新(并行数组)中多次更新相同的行

如何找到特定时间间隔内的最大和最小日期?

奇怪的甲骨文行为

sql count distinct by column 和 sum false 和 true

将单行中的多个行值转换为列