Для каждой страны (поле billing_country) посчитайте минимальное, максимальное и среднее значение выручки из поля total. Назовите поля так: min_total, max_total и avg_total. Нужные поля для выгрузки хранит таблица invoice.

При подсчёте учитывайте только те заказы, которые включают более пяти треков. Стоимость заказа должна превышать среднюю цену одного трека. Используйте код, написанный в предыдущих заданиях.

Отсортируйте итоговую таблицу по значению в поле avg_total от большего к меньшему. Записи с одинаковым значением avg_total отсортируйте по названию страны в лексикографическом порядке.

SELECT billing_country,
       MIN(total) AS min_total,
       MAX(total) AS max_total,
       AVG(total) AS avg_total 
FROM invoice AS i
WHERE i.invoice_id IN (SELECT invoice_id
                    FROM invoice_line AS il
                    GROUP BY il.invoice_id
                    HAVING COUNT(track_id) > 5)
  AND i.total > (SELECT AVG(unit_price)
                 FROM invoice_line AS il)
GROUP BY billing_country
ORDER BY avg_total DESC, billing_country;

Р

Результат

billing_country min_total max_total avg_total
Chile 5.94 17.91 12.57
Hungary 5.94 21.86 12.2367
Ireland 5.94 21.86 12.2367
Czech Republic 5.94 25.86 12.07

Число подзапросов может быть неограниченным. Можно сочетать подзапросы во FROM и в WHERE, главное — не переборщить. Чем больше подзапросов, тем больше нервных клеток уходит на код.