Starbucks: MYSQL Abfrage mit hoch zwei

Hallo,

ich habe das gleiche Problem wie http://forum.de.selfhtml.org/?t=193908&m=1295737
Aber mein SQL Server meißt mir zb. hier:

SELECT *
FROM daten
WHERE laengengrad BETWEEN 7.0 AND 8.2
AND breitengrad BETWEEN 50.0 AND 52.0
ORDER BY (
(leangengrad - 8.0349351)^2 + (breitengrad - 51.9885706)^2
)

Die Orte aber vollkommen unsortiert raus, ich vermute ich habe das hoch2 falsch gesetzt oder ist es doch richtig?

Danke
Starbucks

  1. Hi,

    ich habe das gleiche Problem wie http://forum.de.selfhtml.org/?t=193908&m=1295737

    Dann wäre es vielleicht clever, deine Frage auch gleich dort zu stellen, wenn der Thread sich eh schon mit der gleichen Problematik befasst.

    Aber mein SQL Server meißt mir zb. hier:

    ORDER BY (
    (leangengrad - 8.0349351)^2 + (breitengrad - 51.9885706)^2
    )

    Die Orte aber vollkommen unsortiert raus, ich vermute ich habe das hoch2 falsch gesetzt oder ist es doch richtig?

    Das hättest du ja erst mal leicht überprüfen können, in dem du die Berechnung nicht nur in die WHERE-Klausel aufnimmst, sondern auch selektieren lässt - und dann schaust, ob dabei das richtige herauskommt.

    Und nein, ^ ist in MySQL nicht potenzieren, sondern bitweises Exklusiv-Oder (XOR).
    Die Funktion zum Potenzieren findest du im Handbuch bei den mathematischen Funktionen.

    MfG ChrisB

    --
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
    1. Hallo,

      für alle anderen die auch noch suchen die Funktion heißt POW()