我有一张表有2个字段(纬度,经度)和许多其他字段。 我想从这张表中选择纬度和经度的不同组合。 对此有什么疑问?
答案 0 :(得分:57)
只需使用不同的
SELECT DISTINCT Latitude, Longitude
FROM Coordinates
这将返回(Latitude, Longitude)
组合唯一的值。
此示例假设您不需要其他列。如果您确实需要它们,即表格中包含Latitude, Longitude, LocationName
列,您可以将LocationName
添加到不同的列表中,或者使用以下内容:
SELECT Latitude, Longitude, MIN(LocationName)
FROM Coordinates
GROUP BY Latitude, Longitude
答案 1 :(得分:11)
这是一个老帖子。但我在寻找同样问题的广告时遇到过它。上面的答案对我不起作用,但我找到了另一个使用CONCAT()的简单解决方案:
SELECT *
FROM Coordinates
GROUP BY CONCAT(Latitude, Longitude);
这将为您提供所有独特的纬度/经度组合,对查询的选择部分没有任何限制。
答案 2 :(得分:1)
我认为这将是关于:
SELECT latitude, longitude
FROM table_name t1
INNER JOIN table_name t2
WHERE t1.latitude <> t2.latitude OR t1.longitude <> t2.longitude
这就是SELF INNER JOIN。
答案 3 :(得分:0)
SELECT COLUMN1,COLUMN2
FROM TABLE_NAME
GROUP BY COLUMN1,COLUMN2 -- This will fetch the unique combinations
-- During this kind of selection it is always better to give a where condition so that the results are filtered before grouping
您的代码:
SELECT Latitude, Longitude
FROM Coordinates
GROUP BY Latitude, Longitude