Condividi tramite


Specificare le condizioni per i gruppi (Visual Database Tools)

si applica a:SQL Server

È possibile limitare i gruppi visualizzati in una query specificando una condizione applicabile ai gruppi nel suo complesso, ovvero una HAVING clausola . Dopo che i dati sono stati raggruppati e aggregati, vengono applicate le condizioni nella HAVING clausola . Nella query vengono visualizzati solo i gruppi che soddisfano le condizioni.

Ad esempio, è possibile visualizzare il prezzo medio di tutti i libri per ogni editore in una tabella titles, ma solo se il prezzo medio supera $10,00. In tal caso, è possibile specificare una HAVING clausola con una condizione, AVG(price) > 10ad esempio .

Nota

In alcuni casi, è possibile escludere singole righe dai gruppi prima di applicare una condizione ai gruppi nel suo complesso. Per informazioni dettagliate, vedere Usare clausole HAVING e WHERE nella stessa query (Visual Database Tools).

È possibile creare condizioni complesse per una HAVING clausola usando AND e OR per collegare le condizioni. Per informazioni dettagliate sull'uso e sulle condizioni di ricerca, vedere ANDOR

Specificare una condizione per un gruppo

  1. Specifica i gruppi per la tua query. Per informazioni dettagliate, vedere Raggruppamento di righe nei risultati delle query (Visual Database Tools).

  2. Se non è già presente nel riquadro Criteri (Visual Database Tools), aggiungere la colonna in cui si vuole basare la condizione. Nella maggior parte dei casi, la condizione comporta una colonna che è già un gruppo o una colonna di riepilogo. Non è possibile usare una colonna che non fa parte di una funzione di aggregazione o della GROUP BY clausola .

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

    Gli strumenti di progettazione Query e Visualizzazioni (Visual Database Tools) creano automaticamente una HAVING clausola all'interno dell'istruzione nel Riquadro SQL (Visual Database Tools), come mostrato nel seguente esempio:

    SELECT pub_id,
           AVG(price)
    FROM titles
    GROUP BY pub_id
    HAVING (AVG(price) > 10);
    
  4. Ripetere i passaggi 2 e 3 per ogni condizione aggiuntiva da specificare.