Menentukan jumlah populasi per negara bagian
Untuk menghindari kebingungan dengan nama kolom Hasil kueri seperti count_1, kita dapat menggunakan metode .label() untuk memberikan nama pada kolom hasil. Metode ini ditambahkan pada fungsi yang kita gunakan, dan argumennya adalah nama yang ingin kita pakai.
Kita dapat memasangkan func.sum() dengan .group_by() untuk memperoleh jumlah populasi berdasarkan State dan menggunakan metode label() untuk menamai keluarannya.
Kita juga bisa membuat ekspresi func.sum() sebelum menggunakannya dalam pernyataan select. Caranya sama seperti saat berada di dalam pernyataan select dan disimpan dalam sebuah variabel. Kemudian kita gunakan variabel tersebut di pernyataan select pada tempat di mana func.sum() biasanya digunakan.
Latihan ini adalah bagian dari kursus
Pengantar Basis Data di Python
Petunjuk latihan
- Impor
funcdarisqlalchemy. - Bangun sebuah ekspresi untuk menghitung jumlah nilai pada kolom
pop2008dengan label'population'. - Bangun pernyataan select untuk mengambil nilai kolom
statedan jumlah nilai padapop2008. - Kelompokkan pernyataan berdasarkan
statemenggunakan metode.group_by(). - Eksekusi
stmtmenggunakanconnectionuntuk mendapatkan hitungan dan simpan hasilnya sebagairesults. - Cetak kunci/nama kolom dari hasil yang dikembalikan menggunakan
results[0].keys().
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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(____)