LoslegenKostenlos loslegen

Ermitteln der Bevölkerungssumme pro Bundesstaat

Um Verwechslungen mit Spaltennamen in Ergebnis der Abfrage wie count_1 zu vermeiden, können wir die Methode .label() verwenden, um der resultierenden Spalte einen Namen zu geben. Diese wird an die Funktionsmethode angehängt, die wir verwenden, und ihr Argument ist der gewünschte Name.

Wir können func.sum() mit .group_by() kombinieren, um die Summe der Bevölkerung nach State zu erhalten, und die Methode label() verwenden, um die Ausgabe zu benennen.

Wir können auch den func.sum()-Ausdruck erstellen, bevor wir ihn in der Select-Anweisung verwenden. Wir machen das genauso, wie wir es innerhalb der Select-Anweisung tun würden, und speichern ihn in einer Variablen. Dann verwenden wir diese Variable in der Select-Anweisung dort, wo normalerweise func.sum() stehen würde.

Diese Übung ist Teil des Kurses

Einführung in Datenbanken mit Python

Kurs anzeigen

Anleitung zur Übung

  • Importiere func aus sqlalchemy.
  • Erstelle einen Ausdruck, der die Summe der Werte im Feld pop2008 berechnet und als 'population' bezeichnet.
  • Baue eine Select-Anweisung, die den Wert des Feldes state und die Summe der Werte in pop2008 abfragt.
  • Gruppiere die Anweisung per .group_by() nach state.
  • Führe stmt über die connection aus, um die Anzahl zu erhalten, und speichere die Ergebnisse als results.
  • Gib die Schlüssel/Spaltennamen der zurückgegebenen Ergebnisse mit results[0].keys() aus.

Interaktive Übung

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

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