Jumlah rekaman per negara bagian
Sering kali, kita ingin mendapatkan jumlah untuk setiap rekaman dengan nilai tertentu pada kolom lain. Metode .group_by() membantu menjawab jenis kueri ini. Anda dapat meneruskan sebuah kolom ke metode .group_by() dan menggunakannya dalam fungsi agregat seperti sum() atau count(). Mirip dengan metode .order_by(), .group_by() dapat menerima beberapa kolom sebagai argumen.
Latihan ini adalah bagian dari kursus
Pengantar Basis Data di Python
Petunjuk latihan
- Impor
funcdarisqlalchemy. - Bangun pernyataan
selectuntuk mengambil nilai dari kolom state dan menghitung jumlah nilai pada kolomage, lalu simpan sebagaistmt. - Gunakan metode
.group_by()untuk mengelompokkan pernyataan berdasarkan kolomstate. - Eksekusi
stmtmenggunakanconnectionuntuk mendapatkan jumlahnya dan simpan hasilnya sebagairesults. - Cetak kunci/nama kolom dari hasil yang dikembalikan dengan menggunakan
results[0].keys().
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Import func
# Build a query to select the state and count of ages by state: 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(____)