2013-09-25 10 views
0

J'ai une table avec la colonne 'gps' et elle a des valeurs de latitude et de longitude séparées par des virgules. (lat, lng) Si je veux trier le tableau en fonction de la latitude et de la longitude, comment puis-je faire cela?Requête MYSQL pour trier les coordonnées GPS

MISE À JOUR: Je peux trier par latitude

ORDER BY gps*1 asc/desc 

mais je veux trier par la longitude et

Il aurait été facile si j'avais deux colonnes distinctes pour la latitude et la longitude, mais je n » t.

Quelqu'un peut-il m'aider avec ceci?

Merci à l'avance

Répondre

1

Vous devez utiliser substring_index pour localiser longitude et latitude

EDIT:

select 
SUBSTRING_INDEX(longitude_and_latitude, ',', 1) as longitude, 
SUBSTRING_INDEX(longitude_and_latitude, ',', -1) as latitude 
from MY_TABLE 
order by 1,2 
+0

Utilisez des accents graves autour du nom de domaine. –

+0

une telle ruée avec répondre;) – jaczes

+0

Merci beaucoup ... Cela a fonctionné :) –

4

Essayez SUBSTRING_INDEX:

SELECT SUBSTRING_INDEX(gps, ',', 1) AS longitude, 
     SUBSTRING_INDEX(gps, ',', -1) AS latitude 
FROM yourtable 
ORDER BY longitude, 
      latitude 
+0

Merci beaucoup ... cela a fonctionné –

+0

Je ne sais pas quelle réponse devrais-je accepter ... :) les deux sont les mêmes –

Questions connexes