SQL - 查找一列的重复项但在另一列中不同
SQL - Finding Duplicates of One Column But Different in Another Column
如何查找在一列中具有重复值但在另一列中具有不同值的行。我有一个包含经纬度的城市数据库。我想找到在城市名称列中具有重复但具有不同纬度和经度的所有行。例如,paris,france 和 paris,texas 具有相同的城市名称 "paris" 但纬度和经度不同,因此它们都将包含在查询结果中。但它不应该 return 具有重复城市名称和重复 latitude/longitude 值的行。
如果您只想要城市名称:
select city
from table t
group by city
having min(latitude) <> max(latitude) or
min(longitude) <> max(longitude);
如果你想要详细信息,那么你可以 join
这回到主 table 或使用 group_concat()
到 assemble 国家列表(例如) .
select city,latitude,longitude,count(*) cnt
from table
group by city,latitude,longitude
having count(*)>1
以上结果集中的城市重复。
如何查找在一列中具有重复值但在另一列中具有不同值的行。我有一个包含经纬度的城市数据库。我想找到在城市名称列中具有重复但具有不同纬度和经度的所有行。例如,paris,france 和 paris,texas 具有相同的城市名称 "paris" 但纬度和经度不同,因此它们都将包含在查询结果中。但它不应该 return 具有重复城市名称和重复 latitude/longitude 值的行。
如果您只想要城市名称:
select city
from table t
group by city
having min(latitude) <> max(latitude) or
min(longitude) <> max(longitude);
如果你想要详细信息,那么你可以 join
这回到主 table 或使用 group_concat()
到 assemble 国家列表(例如) .
select city,latitude,longitude,count(*) cnt
from table
group by city,latitude,longitude
having count(*)>1
以上结果集中的城市重复。