MYSQL mehrere Spalten zusammenrechnen!?

...komplette Frage anzeigen

3 Antworten

select (avgfahrt + avgfuelle + avgfahrzeug)/3 as avggesamt from  
(select (avg(`fahrt`) as avgfahrt, avg(`fuelle`) as avgfuelle, avg(`fahrzeug`) as avgfahrzeug FROM stats WHERE id = 33)
Alextoexplain 01.07.2014, 06:13

Klingt gut. Aber ich finde es seltsam, dass du ne temporäre Tabelle machst. Ist meines Erachtens unnötig. Gleich mal testen auf Arbeit nachher :D

1

Die Syntax ist ja auch verkehrt. Eine Klammer (am Anfang) zuviel und die Hochkommas müssen weg.

Sowas sollte gehen:

select (fahrt+fuelle)/2 from stats;

Hello there,

ich seh grad, dass die Lösung von meinem Vorredner syntaktisch falsch ist, ganz abgesehen davon, dass sie unnötig kompliziert ist.

Es ist völlig ausreichend, wenn du schreibst

SELECT ( Avg(`fahrt`) + Avg(`fuelle`) + Avg(`fahrzeug`) ) / 3 AS
       `Gesamtdurchschnitt`
FROM   stats
WHERE  id = 33;  

Hoffe, ich konnte dir helfen.

MfG

Alex

Suboptimierer 01.07.2014, 08:00
dass die Lösung von meinem Vorredner syntaktisch falsch ist

Falls du mich meinst: Copy & Paste Fehler

1
wotan38 03.07.2014, 10:45

Antwort von Alextoexplain: So würde ich es auch machen.

1

Was möchtest Du wissen?