Začněte nyníZačněte zdarma

Výpočet součtu obyvatelstva podle státu

Abychom se vyhnuli záměně s názvy sloupců ve výsledcích dotazu, jako je například count_1, můžeme použít metodu .label() a sloupci přiřadit vlastní název. Ten připojíme k metodě, kterou právě používáme, a jako argument zadáme požadovaný název.

Kombinací func.sum() a .group_by() získáme součet obyvatelstva za každý State a pomocí metody label() výstupní sloupec pojmenujeme.

Výraz func.sum() můžeme také sestavit ještě před použitím v příkazu select. Postupujeme stejně jako při přímém zápisu do příkazu select a výsledek uložíme do proměnné. Tu pak v příkazu select použijeme místo func.sum().

Toto cvičení je součástí kurzu

Introduction to Databases in Python

Zobrazit kurz

Pokyny k cvičení

  • Importuj func z sqlalchemy.
  • Vytvoř výraz pro výpočet součtu hodnot v poli pop2008 s popiskem 'population'.
  • Sestav příkaz select, který načte hodnotu pole state a součet hodnot v pop2008.
  • Seskup příkaz podle state pomocí metody .group_by().
  • Spusť stmt přes connection, ulož výsledky do results.
  • Vypiš názvy klíčů/sloupců vrácených výsledků pomocí results[0].keys().

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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(____)
Upravit a spustit kód