SQL PLZ Entfernung User sortieren

Moin Yaslaw,

danke für das Rechenbeispiel.
Das direkte ausrechnen der Distanzen ist mit zwei PLZ Angaben kein Problem.

Bloß gerade bin ich am rumhirnen wie ich es schaffe mit nur einer angebenen PLZ nach Distanz sotieren kann.

Ich als User habe meine PLZ, die weiß ich. Aber wie kriege ich raus wer zum Beispiel der näheste User von mir ist.

Ich hoffe du verstehst mich.
 
Kann man schlecht sagen, Projekt ist noch nicht online.
Je nachdem wie es läuft, denke ich schon das es so um die 100.000 werden können.

Du fragst wegen der Performance oder?
 
Grenze über eine Differenz zwiechen x und y auf die 100 naheliegsten ein und berechne nur diese.

SQL:
SELECT    
    dat.plz2,
FROM
    (
        SELECT
            p1.plz  AS plz1,
            p1.x    AS x1,
            p1.y    AS y1,
            p2.plz  AS plz2,
            p2.x    AS x2,
            p2.y    AS y2
        FROM
            koord AS p1,
            koord AS p2
        WHERE
            -- Eigene PLZ
            p1.plz = 12345
        ORDER BY
            ABS(p1.x - p2.x)  + ABS(p1.y - p2.y) ASC
        LIMIT(100)
    ) AS dat
ORDER BY
    SQRT(POW(ABS(dat.x1-dat.x2), 2) + POW(ABS(dat.y1-dat.y2), 2)) ASC

Es wird auch nicht bombenschnell sein, muss aber die kpmlizierte Rechnung nicht für alle Einträge machen.
 
Zuletzt bearbeitet von einem Moderator:
Nabend,

danke euch allen. Ich habe es soweit nun hinbekommen, das es nun funktioniert so wie es mir vorgestellt habe.

Ich denke es wird sich zeigen wie Projekt sich entwickelt. Wenn später Performance Probleme auftreten würden, müsste ich nochmal ranklotzen.

Aber bis dahin ... :)
 
Zurück