IniziaInizia gratis

Determinare la somma della popolazione per stato

Per evitare confusione con nomi di colonne del Risultato della query come count_1, possiamo usare il metodo .label() per assegnare un nome alla colonna risultante. Questo metodo si aggiunge alla funzione che stiamo usando e il suo argomento è il nome che vogliamo assegnare.

Possiamo abbinare func.sum() a .group_by() per ottenere la somma della popolazione per State e usare il metodo label() per dare un nome all'output.

Possiamo anche creare l'espressione func.sum() prima di usarla nella select. La costruiamo nello stesso modo in cui faremmo all'interno della select e la salviamo in una variabile. Poi usiamo quella variabile nella select dove normalmente andrebbe func.sum().

Questo esercizio fa parte del corso

Introduzione ai database in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Importa func da sqlalchemy.
  • Crea un'espressione per calcolare la somma dei valori nel campo pop2008 etichettata come 'population'.
  • Crea una select per ottenere il valore del campo state e la somma dei valori in pop2008.
  • Raggruppa l'istruzione per state usando un metodo .group_by().
  • Esegui stmt usando connection per ottenere il conteggio e salva i risultati come results.
  • Stampa le chiavi/nomi colonna dei risultati restituiti usando results[0].keys().

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Import func
____

# Build an expression to calculate the sum of pop2008 labeled as population
pop2008_sum = func.sum(____).label(____)

# Build a query to select the state and sum of pop2008: 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(____)
Modifica ed esegui il codice