Oracle erbjuder en inbyggd funktion för att erhålla det högsta antalet , eller det sista värdet i en karaktär serie . Den " MAX " -funktionen kan ingå i någon select , uppdatera eller radera uttalande att jämföra värdena mot de högsta i serien . Det kan mata det högsta värdet för varje grupp av uppgifter, t.ex. alla i en viss kategori som " manliga " eller " kvinnliga ". För att använda max uttalande , måste grupperingar av data sker inte den enda posten som krävs är det högsta värdet för ett visst fält i en tabell . Instruktioner
1
Skapa ett test tabell i Oracle på kommandoraden för att testa funktionen MAX med data enligt följande :
CREATE TABLE test ( testid NUMMER , 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 i provdrift ( 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 ' ) ;
Detta skapar data med samma värden i grupper , som ingår i " testgroup " fältet . Den andra fältet innehåller unika värden på varje rad .
2
Skriv en SELECT-sats för att erhålla det högsta värdet för " testid " fältet på kommandoraden . För att demonstrera max funktion för alla de data vi skriver helt enkelt på kommandoraden
" SQL > " SELECT MAX ( testid ) testidmax från Test ,
Detta väljer den högsta ( max ) värde av testid i tabellen testet , återvänder numret och utgång :
TESTIDMAX
12
3
gruppen de högsta värdena i en uppsättning poster av gruppering utsignalen för varje kategori enligt följande :
SELECT testgroup , MAX ( testid ) katalog
från Test
ORDER BY testgroup
GROUP BY testgroup
Detta kommer att mata ut det högsta värdet för varje grupp av " testgroup " fältet i motsats till det högsta värdet för hela serien :
tESTGROUP MAX ( TESTID ) katalog
3 bilder
B 6
C 9
D 12