Mulai sekarangMulai gratis

Menggunakan FILTER untuk membuat tabel pivot

Pada latihan sebelumnya, Anda menulis kueri yang memberikan informasi tentang jumlah pelanggaran parkir (berdasarkan kode numeriknya) yang diterbitkan oleh masing-masing dari empat instansi. Hasilnya memuat semua informasi yang diinginkan tetapi disajikan dalam format yang menampilkan duplikasi setiap violation_code hingga empat kali (untuk setiap issuing_agency yang dipilih) dalam hasil. Representasi yang lebih ringkas dari data yang sama dapat dicapai melalui pembuatan tabel pivot.

Dalam latihan ini, Anda akan menulis kueri menggunakan klausa FILTER untuk menghasilkan hasil dalam format tabel pivot. Penyajian data yang lebih baik ini akan lebih mudah digunakan dalam laporan pelanggaran parkir yang diterbitkan oleh masing-masing dari empat instansi yang diminati.

Latihan ini merupakan bagian dari kursus

Membersihkan Data di Database PostgreSQL

Lihat Kursus

Instruksi latihan

  • Definisikan kolom Police sebagai jumlah record untuk setiap violation_code dengan nilai issuing_agency P.
  • Definisikan kolom Sanitation sebagai jumlah record untuk setiap violation_code dengan nilai issuing_agency S.
  • Definisikan kolom Parks sebagai jumlah record untuk setiap violation_code dengan nilai issuing_agency K.
  • Definisikan kolom Transportation sebagai jumlah record untuk setiap violation_code dengan nilai issuing_agency V.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

SELECT 
	violation_code, 
    -- Define the "Police" column
	COUNT(issuing_agency) FILTER (WHERE issuing_agency = '___') AS "Police",
    -- Define the "Sanitation" column
	COUNT(___) FILTER (WHERE ___ = '___') AS "___",
    -- Define the "Parks" column
	___(___) ___ (WHERE ___ = '___') AS "___",
    -- Define the "Transportation" column
	___(___) ___ (___ ___ = '___') AS "___"
FROM 
	parking_violation 
GROUP BY 
	violation_code
ORDER BY 
	violation_code
Edit dan Jalankan Kode