BaşlayınÜcretsiz Başlayın

Satışları artıran albümler

Yöneticin bugün masana uğrayıp yakında başlayacak "Greatest Hits" albümlerine özel bir tatil kampanyasıyla ilgili içeriden bilgi verdi. Ancak en uygun albümlerin indirime girdiğinden emin olmak için, hangi "Greatest Hits" albümlerin en çok satış getirdiğini bilmek istiyor. Bunu yapmak için öğrendiğin tüm becerileri hayata geçireceksin!

Bu egzersiz

Snowflake'te Veri İşleme

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • album_map adlı bir CTE tanımla.
  • Bir albümün başlığında greatest geçiyorsa TRUE, aksi halde FALSE döndüren ve is_greatest_hits olarak adlandırılan bir CASE ifadesi oluştur.
  • trimmed_invoicelines CTE’sini güncelle; invoicelines tablosunu sırasıyla invoice_id ve track_id üzerinden invoice ve tracks tablolarıyla LEFT JOIN ile birleştir.
  • Yalnızca "Greatest Hits" albümleri döndürmek için bir alt sorgu kullan.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

-- Define an album_map CTE to combine albums and artists
___ (
    SELECT
        album.album_id, album.title AS album_name, artist.name AS artist_name,
  		-- Determine if an album is a "Greatest Hits" album
        ___ 
            ___ album_name ILIKE '%greatest%' ___ TRUE
            ELSE FALSE
        ___ AS ___
    FROM store.album
    JOIN store.artist ON album.artist_id = artist.artist_id
), trimmed_invoicelines (
    SELECT
        invoiceline.invoice_id, track.album_id, invoice.total
    FROM store.invoiceline
    LEFT JOIN store.invoice ON invoiceline.invoice_id = invoice.invoice_id
    LEFT JOIN store.track ON invoiceline.track_id = track.track_id
)

SELECT
    album_map.album_name,
    album_map.artist_name,
    SUM(ti.total) AS total_sales_driven
FROM trimmed_invoicelines AS ti
JOIN album_map ON ti.album_id = album_map.album_id
-- Use a subquery to only "Greatest Hits" records
___ ti.___ ___ (SELECT album_id FROM album_map WHERE is_greatest_hits)
GROUP BY album_map.album_name, album_map.artist_name, is_greatest_hits
ORDER BY total_sales_driven DESC;
Kodu Düzenle ve Çalıştır