Ich mache Durchschnitt auf einer Spalte basierend auf Werten von zwei anderen Spalten.MySQL AVG falsches Ergebnis mit ELSE 0
Tabellenstruktur ist wie dieser
| rid | rate | status |....
| 1 | 1500 | 1 |....
| 1 | 1500 | 1 |....
| 1 | 1500 | 1 |....
| 1 | 1500 | 1 |....
| 2 | 1500 | 1 |....
Wenn ich diese Art und Weise tun es mir 1500
richtige Ergebnis gibt, aber es gibt NULL
ohne CASE
Spiel, ich AVG
müssen 0
zurück, wenn keine Zeilen die CASE
Bedingung entsprechen .
AVG(CASE WHEN `rid` = `status` THEN `rate` END) DIV 1 AS `avg`
habe ich versucht auf diese Weise, aber seine mir falsches Ergebnis als 1200
AVG(CASE WHEN `rid` = `status` THEN `rate` ELSE 0 END) DIV 1 AS `avg`
geben, warum ich falsch Ergebnis bin immer?
Bitte sehen Sie und schlagen Sie jede mögliche Weise vor, um dies zu tun.
Dank
Würden Sie bitte Datensätze, für die Sie bekommen falsche Antwort? –