Hi,
Nun möchte ich die Spalte "pax" summieren. Die Spalte ist integer und kann auch nur Zahlen enthalten:
SELECT
plz
,pax
, SUM(pax
) Anzahl, (6368 * SQRT(2*(1-cos(RADIANS(breit)) *
cos(0.83267127885234) * (sin(RADIANS(lang)) *
sin(0.20519678936065) + cos(RADIANS(lang)) *
cos(0.20519678936065)) - sin(RADIANS(breit)) *
sin(0.83267127885234)))) AS distance
FROM TABELLE Having ((distance <= '10') or (distance <= 20 &&ort
= 'berlin'))
GROUP BYpax
ORDER BY distance
> Als Ergebnis erhalte ich keine Datensätze mehr (MySQL lieferte ein leeres Resultat zurück...).
Die Reihenfolge der Klauseln ist falsch – HAVING kommt nach GROUP BY.
Und was noch falsch ist, ist dass du versuchst Spalten zu selektieren, die nicht Teil der Gruppierung sind. Das ist in SQL nicht erlaubt – und wird dir von MySQL je nach Einstellung entweder mit einem Fehler quitiert, oder aber stillschweigend ignoriert – wobei du dann aber in diesen Spalten einen \*zufälligen\* Wert aus allen Datensätzen der Gruppe bekommst.
Aber wenn du alle pax-Werte aufsummieren willst, dann brauchst du doch gar keine Gruppierung danach …?
MfG ChrisB
--
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?