Menghitung data unik
Seperti disebutkan dalam video, modul func milik SQLAlchemy menyediakan akses ke fungsi SQL bawaan yang dapat membuat operasi seperti menghitung dan menjumlahkan menjadi lebih cepat dan efisien.
Dalam video, Jason menggunakan func.sum() untuk mendapatkan jumlah kolom pop2008 dari census seperti yang ditunjukkan di bawah ini:
select([func.sum(census.columns.pop2008)])
Jika Anda ingin menghitung jumlah nilai dalam pop2008, Anda dapat menggunakan func.count() seperti ini:
select([func.count(census.columns.pop2008)])
Lebih lanjut, jika Anda hanya ingin menghitung nilai yang unik dari pop2008, Anda dapat menggunakan metode .distinct():
select([func.count(census.columns.pop2008.distinct())])
Dalam latihan ini, Anda akan berlatih menggunakan func.count() dan .distinct() untuk mendapatkan jumlah nilai unik negara bagian di census.
Selama ini, Anda telah melihat .fetchall(), .fetchmany(), dan .first() digunakan pada ResultProxy untuk mengambil hasil. ResultProxy juga memiliki metode bernama .scalar() untuk mengambil hanya nilai dari sebuah kueri yang mengembalikan tepat satu baris dan satu kolom.
Ini sangat berguna ketika Anda hanya meminta jumlah atau penjumlahan.
Latihan ini adalah bagian dari kursus
Pengantar Basis Data di Python
Petunjuk latihan
- Bangun pernyataan
selectuntuk menghitung nilai unik pada bidangstatedaricensus. - Eksekusi
stmtuntuk mendapatkan hitungan tersebut dan simpan hasilnya sebagaidistinct_state_count. - Cetak nilai
distinct_state_count.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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(____)