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

Počítání jedinečných hodnot

Jak bylo zmíněno ve videu, modul func v SQLAlchemy poskytuje přístup k vestavěným SQL funkcím, které umožňují provádět operace jako sčítání a počítání rychleji a efektivněji.

Ve videu Jason použil func.sum() k získání součtu sloupce pop2008 tabulky census, jak je ukázáno níže:

select([func.sum(census.columns.pop2008)])

Pokud chceš místo toho spočítat počet hodnot ve sloupci pop2008, můžeš použít func.count() takto:

select([func.count(census.columns.pop2008)])

A pokud chceš spočítat pouze jedinečné hodnoty ve sloupci pop2008, použij metodu .distinct():

select([func.count(census.columns.pop2008.distinct())])

V tomto cvičení si procvičíš použití func.count() a .distinct() k zjištění počtu jedinečných států v tabulce census.

Doposud jsi viděl/a metody .fetchall(), .fetchmany() a .first() na objektu ResultProxy pro získání výsledků. ResultProxy má také metodu .scalar(), která slouží k získání jediné hodnoty z dotazu vracejícího právě jeden řádek a jeden sloupec.

To se hodí zejména tehdy, když dotaz vrací pouze počet nebo součet.

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

Introduction to Databases in Python

Zobrazit kurz

Pokyny k cvičení

  • Sestav příkaz select pro spočítání jedinečných hodnot ve sloupci state tabulky census.
  • Spusť stmt, získej výsledný počet a ulož ho do proměnné distinct_state_count.
  • Vypiš hodnotu proměnné distinct_state_count.

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

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

# Build a query to count the distinct states values: stmt
stmt = select([____])

# Execute the query and store the scalar result: distinct_state_count
distinct_state_count = connection.execute(____).scalar()

# Print the distinct_state_count
print(____)
Upravit a spustit kód