ÎncepețiÎncepe gratuit

Calcularea sumei populației pe state

Pentru a evita confuzia cu numele coloanelor din rezultatul interogării, cum ar fi count_1, putem folosi metoda .label() pentru a atribui un nume coloanei rezultate. Aceasta se adaugă la metoda funcției pe care o folosim, iar argumentul său este numele pe care dorim să îl utilizăm.

Putem combina func.sum() cu .group_by() pentru a obține suma populației pe State și putem folosi metoda label() pentru a denumi rezultatul.

De asemenea, putem crea expresia func.sum() înainte de a o folosi în instrucțiunea select. Procedăm la fel ca în interiorul instrucțiunii select și stocăm rezultatul într-o variabilă. Apoi folosim acea variabilă în instrucțiunea select, acolo unde ar fi fost în mod normal func.sum().

Acest exercițiu face parte din cursul

Introducere în baze de date în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Importă func din sqlalchemy.
  • Construiește o expresie pentru a calcula suma valorilor din câmpul pop2008, etichetată ca 'population'.
  • Construiește o instrucțiune select pentru a obține valoarea câmpului state și suma valorilor din pop2008.
  • Grupează instrucțiunea după state folosind metoda .group_by().
  • Execută stmt folosind connection pentru a obține numărul de înregistrări și stochează rezultatele în results.
  • Afișează cheile/numele coloanelor din rezultatele returnate folosind results[0].keys().

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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(____)
Editează și rulează codul