LoslegenKostenlos loslegen

Eindeutige Daten zählen

Wie im Video erwähnt, bietet SQLAlchemys func-Modul Zugriff auf integrierte SQL-Funktionen, die Operationen wie Zählen und Summieren schneller und effizienter machen können.

Im Video hat Jason func.sum() verwendet, um die Summe der Spalte pop2008 aus census zu berechnen, wie unten gezeigt:

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

Wenn du stattdessen die Anzahl der Werte in pop2008 zählen möchtest, kannst du func.count() so verwenden:

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

Wenn du außerdem nur die eindeutigen Werte von pop2008 zählen willst, kannst du die Methode .distinct() nutzen:

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

In dieser Übung übst du die Verwendung von func.count() und .distinct(), um die Anzahl der unterschiedlichen Bundesstaaten in census zu ermitteln.

Bisher hast du .fetchall(), .fetchmany() und .first() auf einem ResultProxy gesehen, um Ergebnisse zu bekommen. Der ResultProxy hat außerdem eine Methode namens .scalar(), um nur den Wert einer Abfrage zu erhalten, die genau eine Zeile und eine Spalte zurückgibt.

Das ist sehr hilfreich, wenn du nur einen Count oder eine Summe abfragst.

Diese Übung ist Teil des Kurses

Einführung in Datenbanken mit Python

Kurs anzeigen

Anleitung zur Übung

  • Erstelle ein select-Statement, um die eindeutigen Werte im Feld state von census zu zählen.
  • Führe stmt aus, um die Anzahl zu erhalten, und speichere das Ergebnis als distinct_state_count.
  • Gib den Wert von distinct_state_count aus.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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(____)
Code bearbeiten und ausführen