Wie verwende ich die Aggregatfunktion ohne GROUP BY?
Gokul NC
SQL> SELECT * FROM student;
NAME ID AGE MARK1 MARK2 TOTAL
-------------------- ---------- ---------- ---------- ---------- -----------
Ananda 200 22 90 95
Chris 250 18 80 75
Gokul 325 17 50 50
SQL> SELECT MAX(mark1),name FROM student;
SELECT MAX(mark1),name FROM student
*
ERROR at line 1:
ORA-00937: not a single-group group function
Wie Sie den Fehler sehen können, kann mir jemand eine Abfrage vorschlagen, um die Maximalnote aus der Tabelle auszuwählen und zusammen mit dem entsprechenden Namen des Schülers anzuzeigen?
Ist es überhaupt möglich, ohne die GROUP BY-Klausel zu verwenden? Wie Sie sehen, gibt es hier keine logische Möglichkeit, die GROUP BY-Klausel zu verwenden.
Gokul NC
Ich habe eine einfache Lösung gefunden:
SELECT mark1,name
FROM student
WHERE mark1=
(SELECT MAX(mark1) FROM student);
Ergebnis:
MARK1 NAME
----- -------
90 Ananda