Ich habe eine MySQL-Tabelle, die so aussieht:
Name | Pass | Fail | Pass Percent | Fail Percent
Abdy | 20 | 5 | |
Bob | 10 | 5 | |
Cantona | 40 | 10 | |
Dave | 30 | 20 | |
Ich versuche die Prozentsätze zu bekommen:
wie: passpercent = (bestanden / bestanden + nicht bestanden) * 100
Kann ich die Tabelle mit einem einzigen MySQL-Code für beide Spalten füllen?
Die Tabelle würde hoffentlich so aussehen:
Name | Pass | Fail | Pass Percent | Fail Percent
Abdy | 20 | 5 | 80 | 20
Bob | 10 | 5 | 66 | 33
Cantona | 40 | 10 | 80 | 20
Dave | 30 | 20 | 60 | 40
Antworten:
7 für die Antwort № 1Das ist absolut möglich.
So füllen Sie die zweite Tabelle aus:
UPDATE mytable SET pass_pct=(pass/pass+fail)*100,fail_pct=(fail/pass+fail)*100
Zugegeben, Sie könnten diese auch während der Auswahl der ersten Tabelle generieren (wenn Sie die Ergebnisse nicht speichern möchten), wie zum Beispiel:
SELECT name,pass,fail,(pass/pass+fail)*100 as pass_pct,(fail/pass+fail)*100 as fail_pct FROM mytable