如何查找一列中具有重复值但另一列中具有不同值的行。我有一个带有纬度和经度的城市数据库。我想找到在城市名称列中有重复但纬度和经度不同的所有行。例如,paris,france 和 paris,texas 具有相同的城市名称“paris”,但经纬度不同,因此它们都会包含在查询结果中。但它不应返回具有重复城市名称和重复纬度/经度值的行。
最佳答案
如果您只想要城市名称:
select city
from table t
group by city
having min(latitude) <> max(latitude) or
min(longitude) <> max(longitude);
如果您想要详细信息,则可以将其加入
回主表,或使用group_concat()
来组合国家/地区列表(例如)。
关于mysql - SQL - 查找一列的重复项但另一列不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28018434/