mysql - SQL - 查找一列的重复项但另一列不同

标签 mysql sql duplicates

如何查找一列中具有重复值但另一列中具有不同值的行。我有一个带有纬度和经度的城市数据库。我想找到在城市名称列中有重复但纬度和经度不同的所有行。例如,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/

相关文章:

php - 为什么 mysqli_query 失败 - 在应该返回资源时返回对象

mysql - 导入sql文件替换为phpmyadmin

mysql - 在 PHPMyAdmin 中设置触发器

sql - MySql 查询同一张表以收集最新和年初至今的信息

php - MySQL警告: Cannot set query

sql - 如何学习 SQL Server 索引调优?

c# - 将地址与地址列表进行比较

python - 如何删除列表形式的数据帧的重复索引?

mysql - java jdbc插入外键时主键的重复条目

mysql - 我如何计算 ON DUPLICATE KEY UPDATE MySQL -php 中更新行的总数