# SQL MIN e MAX per il rilevamento di valori minimi e massimi

Le funzioni `MIN e MAX` di SQL fanno parte delle funzioni di aggregazione che permettono di rilevare **i valori minimi e massimi** in record di dati, tabelle e colonne. Sono utilizzate per ottimizzare e velocizzare le query di dati e consentono un’efficiente analisi dei dati per individuare tendenze, anomalie o processi.

## SQL `MIN e MAX`: definizione e significato

Le funzioni SQL `MIN e MAX` fanno parte delle funzioni di aggregazione di SQL. Sono utilizzate per eseguire calcoli con valori numerici o sequenze di caratteri e restituiscono un singolo valore come risultato. Ad esempio, con `MIN e MAX` è possibile trovare i **valori minimi e massimi** in record di dati, tabelle, colonne o righe e metterli a confronto, a seconda della query e dei parametri utilizzati.

Poiché queste funzioni permettono di **velocizzare notevolmente le analisi complesse dei dati**, non è possibile immaginare di usare SQL senza `MIN e MAX`. Inoltre, è possibile filtrare tabelle di prodotti, prezzi o costi in base ai valori minimi e massimi o individuare anomalie. A seconda dei parametri opzionali e delle query di ricerca, è possibile combinare le funzioni con ulteriori [comandi SQL](https://www.ionos.it/digitalguide/server/configurazione/comandi-sql/) come [SQL WHERE](https://www.ionos.it/digitalguide/server/configurazione/sql-where/), [SQL JOIN](https://www.ionos.it/digitalguide/server/configurazione/comandi-sql-join/), `HAVING` o `GROUP BY`.

Consiglio Vuoi saperne di più su [SQL](https://www.ionos.it/digitalguide/server/know-how/che-cose-sql/), ma finora hai avuto poco a che fare con questo linguaggio di programmazione? Allora leggi la nostra [introduzione a SQL mediante esempi](https://www.ionos.it/digitalguide/server/configurazione/introduzione-a-sql-mediante-esempi/) per avere una prima visione d’insieme.

## La sintassi delle funzioni SQL `MIN e MAX`

Le funzioni `MIN e MAX` sono utili per eseguire **semplici query di dati** e, in combinazione con altri [operatori SQL](https://www.ionos.it/digitalguide/server/configurazione/operatori-sql/), anche **per analisi complesse**.

La sintassi si presenta così:

```sql
MIN(colonna o sequenza di caratteri)
MAX(colonna o sequenza di caratteri)
```

Se vuoi applicare queste funzioni su valori numerici selezionati nei tuoi record di dati, combina `MIN e MAX` con i **comandi SQL `SELECT` e la clausola `FROM`**. In questo modo puoi selezionare la tabella desiderata e le colonne o righe interessate:

```sql
SELECT  MIN(nomecolonna o sequenzacaratteri) FROM  nometabella
MAX(colonna o sequenzacaratteri)  FROM  nometabella
```

Con ulteriori parametri e comandi è possibile definire la query con maggiore precisione. Alcuni di questi sono:

- `DISTINCT`: elimina i duplicati e le righe doppie dalle query di dati per ottenere elenchi univoci.
- `WHERE`: utilizzato prima del filtraggio con `MIN e MAX`, esclude determinati record di dati e si concentra solo sui sottoinsiemi desiderati.
- `GROUP BY`: raggruppa i record di dati interrogati in una o più colonne, ad esempio per regione o categoria, e permette di analizzare tendenze o modelli.
- `HAVING`: filtra ulteriormente i risultati dopo l’aggregazione di valori minimi e massimi, ad esempio per visualizzare solo i risultati per determinati criteri.
- `BETWEEN`: in combinazione con `MIN e MAX`, filtra i risultati in base a determinati intervalli di valori.
- `JOIN`: consente di riunire nella tabella di destinazione i valori minimi e massimi di una o più tabelle.

## Possibili applicazioni di SQL `MIN e MAX`

Le possibilità di applicazione delle funzioni SQL `MIN e MAX` sono praticamente illimitate, in particolare se combinate con ulteriori parametri. Alcune delle applicazioni possibili sono:

- Filtraggio di prezzi massimi e minimi in tabelle di prodotti
- Rilevamento dei file più grandi e più piccoli
- Analisi dei salari dei dipendenti
- Indicazione della frequenza di sequenze di caratteri, parole o valori in un record di dati
- Individuazione di anomalie per il superamento per eccesso o difetto di valori medi o soglie
- Riconoscimento di picchi di potenza o cali delle prestazioni
- Rilevamento di tendenze sulla base di valori medi e rapporti per regione, team, categoria di prodotti o servizio
- Analisi delle scorte in magazzino e dei prodotti
- Limitazione delle analisi dei dati per record di dati di grandi dimensioni

Consiglio Per garantire elevate prestazioni nella gestione dei dati è necessario scegliere la giusta soluzione di hosting per i sistemi di gestione dei database. Scegli l’[hosting SQL server](https://www.ionos.it/cloud/sql-server-hosting/ "Hosting SQL server di IONOS") di IONOS e scopri le offerte più adatte alle tue esigenze. Approfitta dei rapidi tempi di accesso, delle elevate prestazioni, della sicurezza in caso di anomalie e della protezione dei dati in conformità con gli standard europei.

## Esempi pratici per SQL `MIN e MAX`

Per illustrare il funzionamento delle funzioni SQL `MIN e MAX` ti mostriamo alcuni esempi. A tal fine scegliamo **una tabella con prodotti e i relativi prezzi**. Tieni presente che per assegnare un nome alle colonne della tabella di destinazione per `MIN` o `MAX`, utilizzi l’alias AS con il nome di colonna desiderato nella sintassi.

Tabella di esempio:

<table>
  <thead>
    <tr>
      <th>Prodotto</th>
      <th>Prezzo</th>
      <th>Categoria</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Shampoo</td>
      <td>22,90 €</td>
      <td>Capelli</td>
    </tr>
    <tr>
      <td>Lozione per le mani</td>
      <td>45,99 €</td>
      <td>Mani</td>
    </tr>
    <tr>
      <td>Crema per i piedi</td>
      <td>11,99 €</td>
      <td>Piedi</td>
    </tr>
    <tr>
      <td>Lozione per il corpo</td>
      <td>9,99 €</td>
      <td>Corpo</td>
    </tr>
  </tbody>
</table>

Se vuoi individuare il **prodotto con il prezzo più basso o più alto** nella tabella di prodotti ed emetterlo come riga singola, la sintassi da usare è la seguente:

`MIN`:

```sql
SELECT  MIN(prezzo)  FROM  prodotti;
```

`MAX`:

```sql
SELECT  MAX(prezzo)  FROM  prodotti;
```

Se vuoi individuare entrambi i valori nella tabella di destinazione, utilizza la seguente sintassi e definisci la colonna con i valori minimi e massimi con l’alias `AS`:

```sql
SELECT  MIN(prezzo)  AS  min_prezzo, MAX(prezzo)  AS  max_prezzo  FROM  prodotti
```

In combinazione **con ulteriori comandi e parametri è possibile definire più esattamente la tua query di ricerca** o limitarla per categorie. Per visualizzare i valori minimi e massimi in una categoria di prodotti a seconda della categoria, utilizza ad esempio anche il comando SQL `GROUP BY`:

```sql
SELECT  categoria,
MIN(prezzo)  AS  min_prezzo, MAX(prezzo)  AS  max_prezzo
FROM  prodotti
GROUP BY  categoria
```

Nella tabella di destinazione otterrai quindi rispettivamente i valori minimi e massimi, **ordinati per categorie** dei prodotti.

In combinazione con SQL `HAVING`, le funzioni `MIN e MAX` ti permettono di **filtrare ulteriormente i valori individuati in base a una condizione definita**. In questo modo, ad esempio, puoi stabilire che i valori minimi di una categoria in una tabella di prodotti non devono far parte dell’insieme dei risultati, se inferiori a un certo valore. La sintassi per questo esempio è la seguente:

```sql
SELECT  categoria,
MAX(prezzo)  AS  max_prezzo
FROM  prodotti
GROUP BY  categoria
HAVING MIN(prezzo)>10;
```

Nella nostra tabella di esempio, quindi, la lozione per il corpo da 9,99 € non farebbe parte della tabella di destinazione.

## Alternative a SQL `MIN e MAX`

Poiché le funzioni SQL `MIN e MAX` sono **funzioni di aggregazione di SQL**, per il rilevamento di valori aggregati sono disponibili anche altre funzioni simili. Alcune di queste sono:

- `AVG`: con [SQL AVG](https://www.ionos.it/digitalguide/server/configurazione/sql-avg/) puoi filtrare i valori medi di tabelle o colonne selezionate, ad esempio le temperature medie dei mesi di un anno.
- `COUNT`: con [SQL COUNT](https://www.ionos.it/digitalguide/server/configurazione/sql-count/) è possibile contare il numero di record di dati di una tabella o colonna selezionata.
- `SUM`: [SQL SUM](https://www.ionos.it/digitalguide/server/configurazione/sql-sum/) dà la somma di tutti i valori in una colonna selezionata.
- `BETWEEN`: [SQL BETWEEN](https://www.ionos.it/digitalguide/server/configurazione/sql-between/) permette di analizzare i dati in un intervallo di valori definito.
- `LIKE`: l’operatore [SQL LIKE](https://www.ionos.it/digitalguide/server/configurazione/sql-like/) restituisce valori numerici o sequenze di caratteri che corrispondono a un modello predefinito con o senza segnaposti.


This is a markdown version of: [https://www.ionos.it/digitalguide/server/configurazione/sql-min-e-max/](https://www.ionos.it/digitalguide/server/configurazione/sql-min-e-max/) for AI/LLM consumption.