PIVOT tablo oluşturmak için FILTER kullanma
Önceki egzersizde, dört kurumun her birinin kestiği park ihlallerinin (sayısal kodlarına göre) sayısı hakkında bilgi veren bir sorgu yazmıştın. Sonuçlar istenen tüm bilgileri içeriyordu ancak sonuçlarda her issuing_agency için seçilen değerlere bağlı olarak her violation_code değerinin dört kez tekrarlı gösterildiği bir formatta sunulmuştu. Aynı veriyi daha derli toplu göstermek için bir pivot tablo oluşturabilirsin.
Bu egzersizde, sonuçları pivot tablo formatında üretmek için FILTER ifadesini kullanan bir sorgu yazacaksın. Bu geliştirilmiş sunum, dört ilgili kurumun kestiği park ihlallerine ilişkin raporda verilerin daha kolay kullanılmasını sağlar.
Bu egzersiz, kursun bir parçasıdır
PostgreSQL Veritabanlarında Veri Temizleme
Egzersiz talimatları
Policesütununu,issuing_agencydeğeriPolan herviolation_codeiçin kayıt sayısı olarak tanımla.Sanitationsütununu,issuing_agencydeğeriSolan herviolation_codeiçin kayıt sayısı olarak tanımla.Parkssütununu,issuing_agencydeğeriKolan herviolation_codeiçin kayıt sayısı olarak tanımla.Transportationsütununu,issuing_agencydeğeriVolan herviolation_codeiçin kayıt sayısı olarak tanımla.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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