Hvordan bruke Max Funksjon i tiltrer i Oracle

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;