ПочатиПочніть безкоштовно

Альбоми, що стимулюють продажі

Сьогодні директорка підійшла до вашого столу й поділилася інсайдом про святкову акцію на альбоми «Greatest Hits», яку незабаром запустять. Однак, щоб знижки отримали справді оптимальні альбоми, вона хоче знати, які «Greatest Hits» приносять найбільше продажів. Щоб це з'ясувати, застосуйте всі навички, які ви опанували!

Ця вправа є частиною курсу

Опрацювання даних у Snowflake

Переглянути курс

Інструкції до вправи

  • Оголосіть CTE з назвою album_map.
  • Створіть оператор CASE, який повертає TRUE, якщо слово greatest є в назві альбому, і FALSE — інакше; задання псевдоніма is_greatest_hits.
  • Оновіть CTE trimmed_invoicelines, виконавши LEFT JOIN таблиць invoice і tracks до invoicelines за invoice_id і track_id відповідно.
  • Використайте підзапит, щоб повернути лише альбоми «Greatest Hits».

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

-- 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;
Редагувати та запускати код