Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 找到所有或更多副本的最佳方法是什么?_Sql_Postgresql - Fatal编程技术网

Sql 找到所有或更多副本的最佳方法是什么?

Sql 找到所有或更多副本的最佳方法是什么?,sql,postgresql,Sql,Postgresql,我需要编写一个查询,它将查找具有2个或更多相同名称的所有行。我写的如下: SELECT name FROM ( SELECT name, COUNT(*) as count FROM partner.propertie GROUP BY name) as t WHERE t.count > 1; 但我不确定这是否是一个最佳的方法。我有一张相当大的桌子…拥有是您想要的: SELECT name FROM partner.propertie G

我需要编写一个查询,它将查找具有2个或更多相同名称的所有行。我写的如下:

SELECT name 
FROM (
      SELECT name, COUNT(*) as count 
      FROM partner.propertie 
      GROUP BY name) as t 
WHERE t.count > 1;

但我不确定这是否是一个最佳的方法。我有一张相当大的桌子…

拥有
是您想要的:

SELECT name 
FROM partner.propertie 
GROUP BY name
HAVING COUNT(*) > 1
您可以尝试以下方法:

select * from (
  SELECT name,
  ROW_NUMBER() OVER(PARTITION BY name ORDER BY name asc) AS Row
  FROM partner.propertie 
) dups
where 
dups.Row > 1

您可以尝试这样的方法“选择名称,count()作为partner.property group by name的count()>1”这是一个很好的答案,但我认为它的性能不会比OP的原始查询更好。