Conteggio dei record per stato
Spesso vogliamo ottenere un conteggio per ciascun record che ha un determinato valore in un’altra colonna. Il metodo .group_by() aiuta a rispondere a questo tipo di query. Puoi passare una colonna a .group_by() e usarla in una funzione di aggregazione come sum() o count(). Proprio come .order_by(), anche .group_by() può accettare più colonne come argomenti.
Questo esercizio fa parte del corso
Introduzione ai database in Python
Istruzioni dell'esercizio
- Importa
funcdasqlalchemy. - Crea un'istruzione
selectper ottenere il valore del campo state e il conteggio dei valori nel campoage, e salvala comestmt. - Usa il metodo
.group_by()per raggruppare l'istruzione per la colonnastate. - Esegui
stmtusandoconnectionper ottenere il conteggio e salva i risultati comeresults. - Stampa le chiavi/nomi delle colonne dei risultati restituiti usando
results[0].keys().
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Import func
# Build a query to select the state and count of ages by state: stmt
stmt = select([____, ____])
# Group stmt by state
stmt = stmt.group_by(____)
# Execute the statement and store all the records: results
results = connection.execute(____).fetchall()
# Print results
print(results)
# Print the keys/column names of the results returned
print(____)