Frank (no reg): MySQL Durchschnittswert ohne Null

Beitrag lesen

Hallo,

ich hab es grad selbst probeiert.

SELECT AVG(bewertung) AS durchschnitt FROM kommentare WHERE id = '$foto' AND bewertung > 0

tut genau

  1. gib mir alle Datensaetze von Bewertung
  2. davon nur die fuer $foto
  3. davon nur die, die Bewertung > 0 haben
  4. berechne den Durchschnitt von den verbliebenen

WHERE geschieht vor SELECT

BTW ... NULL oder 0?

Abfrage ist syntaktisch und sermantisch richtig. Dein Problem liegt woanders oder du hast nicht die ganze Wahrheit erzaehlt.

Fuehre mal nur folgendes aus

SELECT bewertung AS durchschnitt FROM kommentare WHERE id = '$foto' AND bewertung > 0

dann kopier die Werte in Excel oder sonstwohin und berechne den Durschnitt von Hand und vergleiche ihn mit mit dem Wert von

SELECT AVG(bewertung) AS durchschnitt FROM kommentare WHERE id = '$foto' AND bewertung > 0

BTW2: Statt 0 fuer "keine Bewertung" solltest du erwaegen NULL zu speichern statt eines diskreten Wertes, der Ergebnisse von mathematischen Aggregatfunktionen verfaelschen koennte.

Kein Englisch? Nich mal ansatzweise? In diesen Zeiten? Okay.
Aber hat Google seinen Uebersetzungdienst eingestellt? Zu jedem fremdsprachigen Suchmaschinenergebnis zeigt Google doch immer einen Link "Diese Seite uebersetzen" oder so?

Bitte mehr bemuehen beim Recherchieren und keine Ausreden suchen.

Ciao, Frank