Antal poster per delstat
Ofta vill man räkna poster som har ett visst värde i en annan kolumn. Metoden .group_by() hjälper dig att besvara den typen av frågor. Du kan skicka en kolumn till .group_by() och använda den tillsammans med en aggregatfunktion som sum() eller count().
Precis som .order_by() kan .group_by() ta flera kolumner som argument.
Den här övningen är en del av kursen
Introduktion till databaser i Python
Övningsinstruktioner
- Importera
funcfrånsqlalchemy. - Bygg ett
select-uttryck som hämtar värdet i fältet state och ett antal av värdena i fältetage, och lagra det somstmt. - Använd metoden
.group_by()för att gruppera uttrycket efter kolumnenstate. - Kör
stmtviaconnectionför att hämta antalet och lagra resultaten somresults. - Skriv ut nycklarna/kolumnnamnen i de returnerade resultaten med hjälp av
results[0].keys().
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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(____)