Brauche mysql-Abfrage zu bekommen, Studenten bestanden, nicht bestanden und ZÄHLEN im einzelnen Abfrage
Ich habe eine Tabelle wie unten:
id studentName Marks
1 X 60
2 Y 25
3 Z 50
Hier der pass Markiert ist 50 und vor
Meine Ausgabe sollte
id studentName Marks status totalCount
1 X 60 PASS 2
2 Y 25 FAIL 1
3 Z 50 PASS 2
Hier die Gesamtzahl der pass ist 2 als auch die Gesamtzahl der fail ist 1.
Wie geht das mit dem MYSQL QUERY.
vielen Dank im Voraus....
- Hausaufgaben? welche Abfragen haben Sie bereits versucht?
- nicht zu Hause arbeiten.. es ist eine interview-Frage, die gebeten, mir heute. ich habe versucht mit if else in der Abfrage aber nicht hilft
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das funktioniert wirklich !!! Ich tatsächlich versucht es!!!!!
lwdba@localhost (DB test2) :: CREATE TABLE Studenten
-> (
-> id INT not NULL,
-> studentName VARCHAR(10),
-> Marks INT not NULL,
-> PRIMARY KEY (id)
-> );
Query OK, 0 rows affected (0.17 sec)
lwdba@localhost (DB test2) :: INSERT INTO Studenten VALUES
-> (1,'X',60),
-> (2,'Y',25),
-> (3,'X',50);
Query OK, 3 rows affected (0.06 sec)
Records: 3 Duplicates: 0 Warnings: 0
lwdba@localhost (DB test2) :: SELECT A. id,A. studentName,A. Marks,B. status,B. totalStatus
-> VON den Schülern, A,(SELECT COUNT(1) totalStatus,WENN(Marks>=50,'PASS','FAIL') status
GRUPPE VON Studenten WENN(Marks>=50,'PASS','FAIL')) B
-> WO B. status = WENN(A. Marks>=50,'PASS','FAIL');
+----+-------------+-------+--------+-------------+
| id | studentName | Marken | status | totalStatus |
+----+-------------+-------+--------+-------------+
| 1 | X | 60 | PASS | 2 |
| 2 | Y | 25 | FAIL | 1 |
| 3 | X | 50 | PASS | 2 |
+----+-------------+-------+--------+-------------+
3 rows in set (0.00 sec)
Probieren Sie es aus !!!
Verwenden Sie einen "case" - Anweisung translate #'s in "pass", "fail. Kombinieren Sie das mit group by und count(*). Ich bin mir nicht klar, auf welche "Marken" und "Gesamt-status" ist. die eine ist die Klasse? welches ist die # Noten?
http://dev.mysql.com/doc/refman/5.0/en/case-statement.html