2011-07-29 16 views
26

Tengo una tabla que tiene 2 campos (latitud, longitud) y muchos otros campos. Quiero seleccionar las distintas combinaciones de latitud y longitud de esta tabla. ¿cuál sería la consulta para eso?Seleccionando combinaciones Distintas.

+0

Falta de ejemplo, por favor sea más específico. –

+0

@ Scorpi0 en realidad hay suficiente para responder la pregunta, además de posiblemente informarnos qué base de datos está usando. –

Respuesta

48

Utilice simplemente distinta

SELECT DISTINCT Latitude, Longitude 
    FROM Coordinates 

Esto devolverá los valores donde la combinación (Latitude, Longitude) es único.

Este ejemplo supone que no necesita las otras columnas. Si los necesita, es decir, la tabla tiene Latitude, Longitude, LocationName columnas, se puede o bien añadir LocationName a la lista distinta, o usar algo a lo largo de las líneas de:

SELECT Latitude, Longitude, MIN(LocationName) 
    FROM Coordinates 
    GROUP BY Latitude, Longitude 
+0

Para mí, dos consultas devuelven diferente número de resultados. Por ejemplo, la primera consulta devuelve 1000 filas y la segunda consulta (primera consulta + cláusula GROUP BY) devuelve 800 filas. – ratulalahy

+0

La segunda consulta obtiene solo uno (más o menos aleatorio) LocationName, si tiene más de uno. – SWeko

1

Creo que va a ser algo sobre: ​​

SELECT latitude, longitude 
FROM table_name t1 
INNER JOIN table_name t2 
WHERE t1.latitude <> t2.latitude OR t1.longitude <> t2.longitude 

Ese es el SELF INNER JOIN.

9

es una publicación anterior. pero acabo de encontrarlo mientras busco un anser por el mismo problema. La respuesta anterior no funcionó para mí, pero he encontrado otra solución sencilla utilizando CONCAT():

SELECT * 
FROM Coordinates 
GROUP BY CONCAT(Latitude, Longitude); 

esto le dará todas las combinaciones únicas de latitud/longitud, sin ningún tipo de limitaciones a la parte SELECT de la consulta .

+0

por alguna razón, concat no funciona para mí, causa un error en la consulta y cuando escribo la consulta en http://127.0.0.1:8080/phpmyadmin, habiendo instalado wamp, ni siquiera aparece como una opción http://i.imgur.com/Egqpwct.png – barlop