Tom: Sortieren von Daten

Beitrag lesen

Hello,

Nun habe ich diesen Abstand in einer while schleife der Mysql abfrage eingespeichert und möchte die daten nach dem abstand sortieren!

Wie hast Du das gemacht?
Hast Du eine temporäre Tabelle mit den Filial-ID und der Kunden-Location-ID sowie den Abständen erzeugt?

Die könntest Du dann leicht wieder über die Abstände sortieren lassen und die besten fünf (oder so ähnlich) anzeigen lassen.

Ich denke nicht, dass das eine Aufgabe für die API (PHP) ist, sondern (fast) ausschließlich für die Datenbank.

Wenn man zweistufig arbeitet, könnte man den Rechenaufwand sogar noch enorm vereinfachen.
Selektiere erst die Datensätze der Filialen,

pseudocode:

where (x-eps) < Xs < (x+eps)
     and (y-eps) < Ys < (y+eps)

wobei x die Gauss-Krüger-Koordinate der Filiale in X-Richtung
      y die Gauss-Krüger-Koordinate der Filiale in Y-Richtung
  und Xs und Ys diejenigen des Kunden sind.

Reine Vergleiche gehen viel schneller, als Rechnungen

Im zweiten Schritt lässt Du dann die Entfernungen ausrechnen und sortieren

Im dritten Schritt kannst Du das dann ausgeben.

Mit etwas Geschick (das fehlt mir hier im Moment) kann man das bei MySQL 5.x bestimmt auch schon ein einer einzigen Abfrage mit zwei (?) Subselects unterbringen.

Ein harzliches Glückauf

Tom vom Berg

http://bergpost.annerschbarrich.de
.

--
Nur selber lernen macht schlau