Ich habe die folgende Tabelle course
Erste min von GROUP BY-Klausel
course(idcourse, title, description, price, date, instructor)
Und ich möchte den Lehrer mit weniger Kurse bekommen. Bisher kann ich mit der Anzahl der Kurse jeden Lehrer bekommen er
SELECT instructor, count(*)
FROM courses
GROUP BY instructor;
Das Ergebnis dieser Abfrage in meinem Beispiel lehrt, ist dieses:
INSTRUCTOR COUNT(*)
1 5
2 2
7 5
Jetzt muss ich mit weniger Kurse der Lehrer bekommen . Was ist dieser spezielle Fall ist 2
.
Ich habe versucht mit HAVING count(*) = min(*)
, aber es gibt einen Syntaxfehler.
Wie soll ich die min bekommen? Soll ich einen anderen Ansatz ausprobieren?
Was ist die Datenbank? – Mihai
Was ist, wenn es zwei Instruktoren gibt, die die gleiche Anzahl von Kursen haben und beide auf der 'min' sind? Zum Beispiel, mit Ihren Beispieldaten, wenn Sie den Lehrer mit dem 'max' wollten, dann haben sowohl 1 als auch 7 5 Kurse. Es kann mehrere Ergebnisse geben im Gegensatz zu "der Ausbilder mit weniger Kursen". – user212514
Es ist in Ordnung, wenn der SELECT-Befehl mehr als eine Zeile zurückgibt. – jpuriol