Oracle bietet eine eingebaute Funktion , um die höchste Zahl , oder den letzten Wert in einem Zeichen -Serie zu erhalten. Die "MAX "-Funktion kann in jeder select aufgenommen werden , aktualisieren oder löschen Anweisung Werte gegen den höchsten in der Serie zu vergleichen. Das Script kann den höchsten Wert für jede Gruppe von Datensätzen , wie alle, die in einer bestimmten Kategorie wie " männlich " oder " weiblich ". Um die max -Anweisung verwenden, müssen Gruppierungen von Daten auftreten, es sei denn, das einzige Element erforderlich ist der höchste Wert eines bestimmten Feldes in einer Tabelle. Anleitung
1
erstellen Test-Tabelle in Oracle auf der Kommandozeile , um die MAX -Funktion mit Daten wie folgt testen :
CREATE TABLE test ( Testid NUMBER , testgroup VARCHAR2 ( 2) ) ;
INSERT INTO Test ( Testid , testgroup ) VALUES (1, 'A') ;
INSERT INTO Test ( Testid , testgroup ) VALUES (2, 'A') ;
INSERT INTO Test ( Testid , testgroup ) VALUES (3, 'A') ;
INSERT INTO Test ( Testid , testgroup ) VALUES (4, 'B') ;
INSERT INTO Test ( Testid , testgroup ) VALUES (5, 'B') ;
INSERT INTO Test ( Testid , testgroup ) VALUES (6, 'B') ;
INSERT INTO Test ( Testid , testgroup ) VALUES (7, 'C' );
INSERT INTO Test ( Testid , testgroup ) VALUES (8, 'C' );
INSERT INTO Test ( Testid , testgroup ) VALUES (9, 'C' );
INSERT INTO Test ( Testid , testgroup ) VALUES (10, 'D') ;
INSERT INTO Test ( Testid , testgroup ) VALUES (11, ' D ') ;
INSERT INTO Test ( Testid , testgroup ) VALUES (12, ' D ') ;
Dies schafft Daten mit den gleichen Werten in Gruppen , in der " testgroup "-Feld enthalten . Das andere Feld enthält eindeutige Werte in jeder Zeile .
2
schreiben select-Anweisung , um den höchsten Wert der " Testid "-Feld auf der Kommandozeile zu erhalten. Um die Funktion max für alle Daten zeigen wir einfach auf der Kommandozeile
Typ " SQL > " SELECT MAX ( Testid ) testidmax FROM test ;
Dadurch wird der höchste ( maximale ) Wert der in der Tabelle Test TestID , Rücksendung der Anzahl und Leistung :
TESTIDMAX
12
3
Gruppe die Maximalwerte in einer Reihe von Datensätzen durch Gruppieren Sie die Ausgabe für jede Kategorie wie im folgenden :
SELECT testgroup , MAX ( Testid )
FROM test
BESTELLEN von testgroup
GROUP BY testgroup
Dies ausgeben den höchsten Wert für jede Gruppierung der " testgroup "-Feld , um den höchsten Wert für die gesamte Serie entgegen :
tESTGROUP MAX ( TestID )
3
B 6
C 9
D 12