Ich arbeite an PEOPLESOFT CMS. Studenten melden sich in Kursen an und erhalten Noten. Manchmal wiederholt ein Schüler einen Kurs und bekommt eine bessere Note. Ich muss die GPA berechnen, indem Sie nur die beste Klasse verwenden. Also für jeden Schüler, der Kurse wiederholt, muss ich ermitteln, was die höchste Note ist.E.g. im 2. Semester bekam er 3 grade_point , aber in 4 semester verbesserte er auf 4,5 grad_point. dann sollte 4,5 anstelle von 3 holen, wenn wir das Ergebnis für alle 4 semester melden, aber wenn wir bis zum 2ten Semester benachrichtigen, könnte 3 grad_point zurückgeben .hier konstruiere ich einen sql, der gut funktioniert in Auswahl bt wenn ich es sehe dann habe ich ein Problem für die Handhabung anders semester seine immer zurück max für 4. Semester Ergebnis bt in Sicht seine verpasste den Kurs bis 2 Semester gpa hier Abfrage istSo erhalten Sie die maximale Note für den gleichen Kurs in verschiedenen akademischen Sitzung
SELECT DISTINCT A.institution
,A.acad_career
,A.emplid
,a.crse_id
,A.UNT_TAKEN
, a.acad_prog
,first_value(a.grade_points) OVER (PARTITION BY A.emplid
,a.crse_id
ORDER BY a.grade_points DESC) AS GPA
,first_value(a.strm) OVER (PARTITION BY A.emplid
,a.crse_id
ORDER BY a.grade_points DESC) AS strm
FROM ps_qau_maxgp_ugrd a
WHERE acad_career='UGRD'
AND Emplid LIKE '04091313014%'
AND Strm='1313'
ORDER BY A.institution ,A.acad_career ,A.emplid ,A.UNT_TAKEN , a.acad_prog
Bitte einige Beispieldaten, tatsächliche Ausgabe und erwartete Ausgabe posten – GurV
Ich verstehe nicht. Sie wählen die höchste Note aus, die ein Mitarbeiter in einem Kurs über verschiedene Sitzungen erhalten hat, und nennen das "GPA"? Warum? GPA hat eine sehr gut definierte Bedeutung, die sich von Ihrer Wahl unterscheidet. Ich sehe nirgendwo in Ihrem Code, wo der tatsächliche GPA berechnet wird. Zusätzlich zum Code sollten Sie die Tabellenstruktur (Tabellennamen, Spaltennamen und Datentypen und ihre Beziehung) anzeigen. Sie haben eine anständige Aufgabe gemacht, die Anforderung zu erklären, also ist es nicht notwendig, sie zu wiederholen. Dann zeigen Sie bitte eine kleine Probe der Ausgabe, damit wir wissen, was Sie brauchen. – mathguy
Außerdem scheint es, was Sie hier zeigen, ein Zwischenergebnis. Wenn ja, ist das in Ordnung, aber zeigen Sie uns das gewünschte ENDGÜLTIGE Ergebnis. Es ist durchaus möglich, dass dieser Zwischenschritt nicht benötigt wird und Sie eine einfachere, schnellere Lösung erhalten, die einfacher zu schreiben, zu lesen und zu warten ist. – mathguy