BaşlayınÜcretsiz başlayın

Eyalete göre nüfus toplamını belirleme

count_1 gibi sorgu sonucu sütun adlarıyla karışıklığı önlemek için, ortaya çıkan sütuna bir ad vermek üzere .label() yöntemini kullanabiliriz. Bu yöntem, kullandığımız fonksiyon çağrısına eklenir ve argümanı da kullanmak istediğimiz addır.

func.sum() ile .group_by()'i eşleştirerek State bazında nüfusun toplamını alabilir ve çıktıyı adlandırmak için label() yöntemini kullanabiliriz.

Ayrıca, select ifadesinde kullanmadan önce func.sum() ifadesini oluşturabiliriz. Bunu, select ifadesinin içinde yapacağımız şekilde oluşturup bir değişkende saklarız. Sonrasında, normalde func.sum()'ın olacağı yerde o değişkeni kullanırız.

Bu egzersiz, kursun bir parçasıdır

Python ile Veritabanlarına Giriş

Kursa Göz Atın

Egzersiz talimatları

  • sqlalchemy içinden func'ı içe aktar.
  • pop2008 alanındaki değerlerin toplamını hesaplayan ve 'population' olarak etiketlenen bir ifade oluştur.
  • state alanının değerini ve pop2008 toplamını getiren bir select ifadesi oluştur.
  • İfadeyi .group_by() yöntemiyle state'e göre grupla.
  • Sayımı almak için stmt ifadesini connection ile çalıştır ve sonuçları results olarak sakla.
  • Dönen sonuçların anahtarlarını/sütun adlarını results[0].keys() kullanarak yazdır.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# 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(____)
Kodu Düzenle ve Çalıştır