mysql – Wie schreibe ich zwei SUM-Werte mit unterschiedlichen Bedingungen in eine SQL-Anweisung und finde den Unterschied zwischen den beiden?
阿神
阿神 2017-05-24 11:33:10
0
1
799

Die Tabelle, die ich in meinem Unternehmen verwende, ist die Punkteprotokolltabelle des Benutzers. Die Felder sind Benutzer-ID, Punkttyp (zu 1 hinzugefügt und auf 2 reduziert), Punkte, Zeitstempel.
Ich muss jeden Tag die Gesamtpunktzahl des Benutzers berechnen
Ich habe zunächst die Plus- und Minuspunkte zusammengefasst und dann das Array durchlaufen, um den Unterschied im Back-End-Programm zu ermitteln. Das ist äußerst ineffizient ? Verwenden Sie dann den Fall, um einen Fehler zu melden

SUM(CASE type=1 THEN `score` ELSE 0-`score`)
阿神
阿神

闭关修行中......

Antworte allen(1)
洪涛

应该是:

SUM(IF(type = 1, score, -score))

或者写得啰嗦些:

SUM(CASE WHEN type = 1 THEN score ELSE -score END)
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage