2011-01-15 9 views
1

Ich habe zwei Spalten in einer MySQL-Datenbank. Einer ist eine Distanzspalte und der andere ist eine Zeitspalte. In einigen Fällen ist einer oder beide dieser Werte nicht bekannt und daher NULL. Ich möchte eine Abfrage erstellen, die die durchschnittliche Geschwindigkeit ohne NULL-Einträge findet.Berechnen der Durchschnittsgeschwindigkeit aus Spalten, die sowohl eine Entfernung als auch eine Zeit haben (NULL-Ausgaben)

Zum Beispiel:

Distance Time 

60   60 
120   60 
NULL  45 
30   NULL 
NULL  NULL 

Die durchschnittliche berechnete Geschwindigkeit sollte (60+120)/(60+60) = 1.5

Dank sein!

Antwort

4

Aggregate über die Zeilen, in denen beide Werte nicht NULL:

SELECT SUM(Distance)/SUM(Time) AS AvgSpeed 
FROM yourtable 
WHERE Distance IS NOT NULL 
AND Time IS NOT NULL 
+0

funktioniert super! Vielen Dank. Würdest du zufällig irgendwelche guten Ressourcen kennen, die das Schreiben von SQL-Abfragen lehren, um so etwas zu tun? – Nick

+1

@Nick: Sie könnten dies versuchen: http://stackoverflow.com/questions/31982/looking-for-a-good-book-to-learn-sql –

Verwandte Themen