Oracle giver en indbygget funktion til at opnå det højeste antal , eller den sidste værdi i en karakter serie. Den " MAX "-funktionen kan indgå i enhver select , opdatere eller slette erklæring for at sammenligne værdier mod de højeste i serien. Det kan udlæse den højeste værdi for hver gruppe af optegnelser, såsom alle dem i en bestemt kategori som " mand" eller "kvinde ". Hvis du vil bruge max erklæring skal grupperinger af data opstår , medmindre kun nødvendigt element er den højeste værdi af et bestemt felt i en tabel. Instruktioner
1
Opret en test tabel i Oracle på kommandolinjen for at teste MAX funktion med data som følger : Hej
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 TIL 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 ');
Dette skaber data med de samme værdier i grupper , der er indeholdt i " testgroup " feltet . Den anden felt indeholder unikke værdier på hver række.
2
Skriv en vælge erklæring for at opnå den højeste værdi af " testid " feltet på kommandolinjen . For at demonstrere max -funktionen for alle de data, vi blot skrive på kommandolinjen
" SQL >" SELECT MAX ( testid ) testidmax FROM test
Dette vil vælge den højeste ( maksimum) værdi af testid i tabellen test , returnere antallet og output : Hej
TESTIDMAX
12
3
Group de maksimale værdier i et sæt poster ved gruppering output for hver kategori , som i det følgende : Hej
SELECT testgroup , MAX ( testid )
FROM test
ORDER ved testgroup
GROUP BY testgroup
Dette vil output den højeste værdi for hver gruppe af " testgroup " feltet i modsætning til den højeste værdi for hele serien : Hej
tESTGROUP MAX ( TESTID )
3 fotos
B 6 fotos
C 9
D 12