Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie füge ich eine Gruppe von Datensätzen in Oracle zusammen?

Verwendung:

  • MAX
  • GRUPPE NACH
SQL> SELECT NAME,
  2    MAX(subject_1) subject_1,
  3    MAX(marks_1) marks_1,
  4    MAX(subject_2) subject_2,
  5    MAX(marks_2) marks_2
  6  FROM t
  7  GROUP BY name;

NAME SUBJECT_1    MARKS_1 SUBJECT_2    MARKS_2
---- --------- ---------- --------- ----------
Jon  Maths             60 Science           70
Tom  Maths             90 Science           50

SQL>

Nebenbei bemerkt, Sie müssen über Ihr Tabellendesign nachdenken . Sie könnten nur 3 Spalten haben, name, subject, marks .

Wenn Sie getrennte Spalten haben möchten in derselben Tabelle, dann sollten Sie sie als einzelne Zeile haben für jeden Schüler. Und wenn Sie ein neues Fach für den Schüler haben, dann aktualisieren die Zeile für diesen Schüler, anstatt eine neue Zeile hinzuzufügen.