Hvordan bruke Max Funksjon i tiltrer i Oracle
Oracle tilveiebringer en innebygget funksjon for å oppnå den høyeste nummer, eller den siste verdien i en tegnserie. "MAX" funksjonen kan bli inkludert i noen velger, oppdatere eller slette statement å sammenligne verdier mot de høyeste i serien. Den kan sende den høyeste verdien for hver gruppe av poster, slik som alle de i en bestemt kategori som "mannlig" eller "kvinnelig". For å bruke max uttalelsen, må grupperinger av data skje med mindre det eneste elementet som kreves er den høyeste verdien av et bestemt felt i en tabell.
Bruksanvisning
1 Lag en test bord i Oracle på kommandolinjen for å teste MAX funksjon med data som følger:
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) VERDIER (4, 'B');
INSERT INTO test (testid, testgroup) VERDIER (5, 'B');
INSERT INTO test (testid, testgroup) VERDIER (6, 'B');
Sett inn i test (testid, testgroup) VALUES (7, 'C');
Sett inn i test (testid, testgroup) VALUES (8, 'C');
Sett inn i 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 skaper data med de samme verdiene i grupper, som finnes i "testgroup" feltet. Den andre feltet inneholder unike verdier i hver rad.
2 Skriv en utvalgt uttalelse å oppnå den høyeste verdien av "testid" -feltet på kommandolinjen. For å demonstrere max funksjon for alle dataene vi bare inn på kommandolinjen
"SQL>" SELECT MAX (testid) testidmax FROM test;
Dette vil velge den høyeste (maks) verdien av testid i tabellen test, returnerer antall og utgang:
TESTIDMAX
12
3 Gruppe maksimumsverdiene i et sett med poster ved å gruppere utgang for hver kategori som i følgende:
SELECT testgroup, MAX (testid)
Fra test
ORDER av testgroup
GROUP BY testgroup
Dette vil oppnå best mulig verdi for hver gruppering av de "testgroup" -feltet i motsetning til den høyeste verdien for hele serien:
TESTGROUP MAX (TESTID)
En 3
B 6
C 9
D 12
Hint
- I tillegg til "GROUP BY" -funksjonen, grupperinger bruke en "ha" klausul for å få mer konkrete resultater. Syntaksen i tilfelle ville omfatte kriterier som: GROUP BY testgroup HAR testid> 6;