LoslegenKostenlos loslegen

Alben, die Verkäufe antreiben

Deine Director kam heute an deinen Schreibtisch und hat dir Insider-Infos zu einer bald startenden Feiertagsaktion für „Greatest Hits“-Alben gegeben. Damit die optimalen Alben rabattiert werden, möchte sie wissen, welche „Greatest Hits“-Alben die meisten Verkäufe treiben. Dafür setzt du all deine erlernten Skills ein!

Diese Übung ist Teil des Kurses

Datenmanipulation in Snowflake

Kurs anzeigen

Anleitung zur Übung

  • Definiere eine CTE namens album_map.
  • Erstelle eine CASE-Anweisung, die TRUE zurückgibt, wenn greatest im Titel eines Albums vorkommt, und sonst FALSE; gib ihr den Alias is_greatest_hits.
  • Aktualisiere die CTE trimmed_invoicelines, indem du die Tabellen invoice und tracks per LEFT JOIN jeweils über invoice_id bzw. track_id mit invoicelines verknüpfst.
  • Verwende eine Unterabfrage, um nur „Greatest Hits“-Alben zurückzugeben.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

-- 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;
Code bearbeiten und ausführen