meiner Anfrage Hier ist also so weit:Vergleicht man zwei Werte in Postgres in einer Abfrage
Select
class.title, studentClass.grade, count(studentClass.grade)
from
classOffering
inner join
studentClass on classOffering.classID = studentClass.classID
inner join
class on classOffering.classID = class.classID
group by
class.title, studentClass.grade
order by
count(studentClass.grade) desc
Und hier ist die Ausgabe:
Nun, was ich nur zu tun, ich versuche, ist Holen Sie sich die häufigste Note für eine Klasse zurück. Also muss ich Softwareentwicklung I mit der Note A ausschneiden, denn A ist die häufigste Note in der Klasse. Aber ich weiß nicht, wie man die Zählwerte vergleicht. Jede Hilfe wäre wunderbar.
Ich mag dieses eine viel. Ich hatte vor einiger Zeit einen DB-Admin, der mir diese Lösung zeigte und vergaß es sofort. Ich muss wirklich die 'row_number() über (Partition durch ... order by ...)' Syntax in den Speicher übergeben. – jwatts1980
Hmm, ich habe gerade bemerkt, dass du nicht die Anzahl der Grade-Vorkommen bekommst. Das ist einer der Schlüssel zur benötigten Antwort. – jwatts1980
Ja, Sie können nicht, aber OP erwähnt in einem Kommentar, dass er die Note statt der Zählung wollte .. so schlug ich dies vor ... Wenn Sie die Anzahl benötigen, müssten Sie diese Abfrage mit einer anderen Abfrage, die den Titel und bekommt zählen und dann stimmen sie überein. Vielleicht gibt es einen anderen Weg, die Zählung zu erhalten, indem Sie die gleiche Abfrage verwenden .. ich weiß nicht ... – cableload