Нужно объединить данные двух таблиц: track со всеми треками в магазине и invoice_line с купленными треками.
Выгрузите таблицу с названием трека и числом, которое соответствует тому, сколько раз трек покупали. Учитывайте, что в одном заказе один и тот же трек может встречаться несколько раз. Если какой-либо из треков не покупали или о купленном треке нет информации — такие записи не должны войти в таблицу. Оставьте только уникальные значения с помощью группировки и отберите первые 20 записей.
SELECT t.name,
COUNT(i.quantity) AS total_quantity
FROM track AS t
INNER JOIN invoice_line AS i ON i.track_id = t.track_id
GROUP BY t.name
LIMIT 20;
Результат
| name | total_quantity |
|---|---|
| Anyway, Anyhow, Anywhere | 1 |
| I Still Haven't Found What I'm Looking for | 1 |
| I Believe | 2 |
Удобно: теперь видно, сколько покупали каждый трек. И это не предел возможностей!