Comprimere i gruppi di righe (Visual Database Tools)

Si applica a:SQL Server

È possibile creare un risultato di query in cui ogni riga di risultati corrisponda a un intero gruppo di righe dei dati originali. Quando si comprimono le righe, è necessario tenere presenti alcune considerazioni:

  • È possibile eliminare le righe duplicate Alcune query possono creare set di risultati in cui sono presenti più righe identiche. È possibile, ad esempio, creare un set di risultati in cui ogni riga contiene la città in cui risiede un autore e il nome dello stato in cui tale città si trova. Se però in una città risiedono più autori, saranno presenti numerose righe identiche. Il codice SQL risultante potrebbe essere simile al seguente:

    SELECT city, state  
    FROM authors  
    

    Il set di risultati generato dalla query precedente non è molto utile. Se in una città risiedono quattro autori, il set di risultati includerà quattro righe identiche. Poiché il set di risultati non contiene altre colonne oltre a quelle della città e dello stato, non è possibile distinguere le righe identiche l'una dall'altra. Un modo per evitare le righe duplicate consiste nell'includere ulteriori colonne che possano rendere diverse le righe. Se ad esempio si include il nome dell'autore, ogni riga sarà diversa, a condizione che in una qualsiasi città non vivano due autori con lo stesso nome. Il codice SQL risultante potrebbe essere simile al seguente:

    SELECT city, state, fname, minit, lname  
    FROM authors  
    

    La query precedente elimina il sintomo, ma non risolve realmente il problema. In altre parole, il set di risultati non contiene duplicati, ma non riguarda più in modo specifico le città. Per eliminare i duplicati nel set di risultati originale e fare in modo che ogni riga descriva una città, è possibile creare una query che restituisca soltanto righe distinte. Il codice SQL risultante potrebbe essere simile al seguente:

    SELECT DISTINCT city, state  
    FROM authors  
    

    Per altre informazioni sull'eliminazione dei duplicati, vedere Escludere righe duplicate (Visual Database Tools).

  • È possibile eseguire calcoli su gruppi di righe È possibile riepilogare le informazioni presenti in gruppi di righe. È possibile, ad esempio, creare un set di risultati in cui ogni riga contiene la città in cui risiede un autore e il nome dello stato a cui tale città appartiene più un conteggio del numero di autori residenti nella città. Il codice SQL risultante potrebbe essere simile al seguente:

    SELECT city, state, COUNT(*)  
    FROM authors  
    GROUP BY city, state  
    

    Per informazioni dettagliate sull'esecuzione di calcoli su gruppi di righe, vedere Creare un riepilogo dei risultati di query (Visual Database Tools) e Ordinare e raggruppare i risultati delle query (Visual Database Tools).

  • È possibile usare criteri di selezione per includere gruppi di righe È possibile, ad esempio, creare un set di risultati in cui ogni riga include la città di residenza di più autori e il nome dello stato a cui tale città appartiene, oltre a un conteggio del numero di autori residenti in tale città. Il codice SQL risultante potrebbe essere simile al seguente:

    SELECT city, state, COUNT(*)  
    FROM authors  
    GROUP BY city, state  
    HAVING COUNT(*) > 1  
    

    Per informazioni dettagliate sull'applicazione di criteri di selezione su gruppi di righe, vedere Specificare le condizioni per i gruppi (Visual Database Tools) e Usare clausole HAVING e WHERE nella stessa query (Visual Database Tools).

Vedi anche

Specificare i criteri di ricerca (Visual Database Tools)
Procedure per la progettazione di query e viste (Visual Database Tools)