Condividi tramite


Definizione di condizioni per i gruppi (Visual Database Tools)

Si applica a: SQL Server

Per limitare i gruppi inclusi in una query, è possibile specificare una condizione che si applica a tutti i gruppi, ossia una clausola HAVING. Dopo il raggruppamento e l'aggregazione dei dati, vengono applicate le condizioni nella clausola HAVING. Nella query verranno inseriti solo i gruppi che soddisfano le condizioni.

Può ad esempio essere necessario visualizzare il prezzo medio di tutti i libri di ciascun editore nella tabella titles , ma solo se il prezzo medio è maggiore di 10 dollari. In questo caso, è possibile specificare una clausola HAVING con una condizione quale AVG(price) > 10.

Nota

In alcuni casi, può essere necessario escludere singole righe dai gruppi prima di applicare una condizione a tutti i gruppi. Per informazioni dettagliate, vedere Utilizzo delle clausole HAVING e WHERE nella stessa query (Visual Database Tools).

È possibile creare condizioni complesse per una clausola HAVING utilizzando AND e OR per collegare le condizioni. Per informazioni dettagliate sull'uso di AND e OR nelle condizioni di ricerca, vedere Definizione di più condizioni di ricerca per una sola colonna (Visual Database Tools).

Per specificare una condizione per un gruppo

  1. Specificare i gruppi per la query. Per informazioni dettagliate, vedere Raggruppare righe nei risultati di una query (Visual Database Tools).

  2. Se necessario, aggiungere nel riquadro Criteri la colonna su cui si vuole basare la condizione. In genere la condizione riguarda una colonna che fa già parte di un gruppo o di un riepilogo. Non è possibile utilizzare una colonna che non fa parte di una funzione di aggregazione o della clausola GROUP BY.

  3. Nella colonna Filtro specificare la condizione da applicare al gruppo.

    In Progettazione query e Progettazione viste verrà creata automaticamente una clausola HAVING nell'istruzione del riquadro SQL, come nell'esempio seguente:

    SELECT pub_id, AVG(price)  
    FROM titles  
    GROUP BY pub_id  
    HAVING (AVG(price) > 10)  
    
  4. Ripetere i passaggi 2 e 3 per tutte le altre condizioni da specificare.

Vedi anche

Ordinare e raggruppare i risultati delle query (Visual Database Tools)