Come utilizzare la funzione Max in unisce a Oracle

May 24

Come utilizzare la funzione Max in unisce a Oracle


Oracle fornisce una funzione built-in per ottenere il numero più alto, o l'ultimo valore di una serie di caratteri. La funzione "MAX" può essere incluso in qualsiasi select, UPDATE o DELETE per confrontare i valori contro il più alto nella serie. E 'in grado di emettere il valore più alto per ogni gruppo di record, come tutti coloro che in una categoria specifica, come "maschio" o "femmina". Per utilizzare l'istruzione max, raggruppamenti di dati devono verificano meno che l'unico elemento richiesto è il valore più alto di un campo specifico in una tabella.

istruzione

1 Creare una tabella di test in Oracle sulla riga di comando per testare la funzione MAX con i dati come segue:

CREATE TABLE test (testid NUMERO, TestGroup VARCHAR2 (2));

INSERT INTO prova (testid, TestGroup) VALORI (1, 'A');

INSERT INTO prova (testid, TestGroup) VALORI (2, 'A');

INSERT INTO prova (testid, TestGroup) VALORI (3, 'A');

INSERT INTO prova (testid, TestGroup) VALORI (4, 'B');

INSERT INTO prova (testid, TestGroup) VALORI (5, 'B');

INSERT INTO prova (testid, TestGroup) VALORI (6, 'B');

INSERT INTO prova (testid, TestGroup) VALORI (7, 'C');

INSERT INTO prova (testid, TestGroup) VALORI (8, 'C');

INSERT INTO prova (testid, TestGroup) VALORI (9, 'C');

INSERT INTO prova (testid, TestGroup) VALORI (10, 'D');

INSERT INTO prova (testid, TestGroup) VALORI (11, 'D');

INSERT INTO prova (testid, TestGroup) VALORI (12, 'D');

Questo crea dati con gli stessi valori in gruppi, contenuti nel campo "TestGroup". L'altro campo contiene valori unici su ogni riga.

2 Scrivere una dichiarazione prescelta per ottenere il valore più alto del campo "testid" sulla riga di comando. Per dimostrare la funzione di massima per tutti i dati che è sufficiente digitare sulla riga di comando

"SQL>" SELECT MAX (testid) testidmax DA prova;

Questo selezionerà il più alto valore (massimo) di testid nella tabella test, restituendo il numero e uscita:

TESTIDMAX

12

3 Gruppo i valori massimi in un insieme di record raggruppando l'uscita per ciascuna categoria come nell'esempio seguente:

SELEZIONE TestGroup, MAX (testid)

DA prova

ORDER BY TestGroup

GROUP BY TestGroup

Ciò produrrà il valore massimo per ciascun raggruppamento di campo "TestGroup" rispetto al valore più alto per l'intera serie:

TestGroup MAX (testid)

A 3

B 6

C 9

D 12

Consigli e avvertenze

  • Oltre al "GROUP BY" la funzione, i raggruppamenti utilizzano un "avere" clausola di ottenere risultati più specifici. La sintassi nel caso dovrebbe includere criteri quali: GROUP BY TestGroup AVERE testid> 6;