Общее среднее значение
Часть раздела Основы путешествия по SQL на Coddy. Урок 56 из 72.
Задание
ЛегкоДоступные таблицы и столбцы:
<strong>enom_gilpane</strong>:<strong>part_id</strong>,<strong>rpm</strong>,<strong>watt</strong>,<strong>size</strong><strong>castle_loctus</strong>:<strong>part_id</strong>,<strong>rpm</strong>,<strong>watt</strong>,<strong>size</strong><strong>honpan_bilopsa</strong>:<strong>part_id</strong>,<strong>rpm</strong>,<strong>watt</strong>,<strong>size</strong><strong>yurnol_qoltam</strong>:<strong>part_id</strong>,<strong>rpm</strong>,<strong>watt</strong>,<strong>size</strong>
Наконец, рассчитайте среднее качество для каждого part_id.
Верните part_id, avg_quality, отсортированные по avg_quality в порядке убывания.
Попробуйте сами
-- Эти четыре блока продуктов и объединённый блок перенесены из предыдущего урока
WITH filtered_enom_gilpane_quality as (
WITH enom_gilpane_quality as (
SELECT part_id, ((rpm * watt) / size) as quality
FROM (
SELECT part_id, rpm, watt + (select avg(watt) from enom_gilpane) as watt, size
FROM enom_gilpane
)
)
SELECT *
FROM enom_gilpane_quality
WHERE quality > (select avg(quality) from enom_gilpane_quality)
),
filtered_castle_loctus_quality as (
WITH castle_loctus_quality as (
SELECT part_id, ((rpm * watt) / size) as quality
FROM (
SELECT part_id, rpm, watt + (select avg(watt) from castle_loctus) as watt, size
FROM castle_loctus
)
)
SELECT *
FROM castle_loctus_quality
WHERE quality > (select avg(quality) from castle_loctus_quality)
),
filtered_honpan_bilopsa_quality as (
WITH honpan_bilopsa_quality as (
SELECT part_id, ((rpm * watt) / size) as quality
FROM (
SELECT part_id, rpm, watt + (select avg(watt) from honpan_bilopsa) as watt, size
FROM honpan_bilopsa
)
)
SELECT *
FROM honpan_bilopsa_quality
WHERE quality > (select avg(quality) from honpan_bilopsa_quality)
),
filtered_yurnol_qoltam_quality as (
WITH yurnol_qoltam_quality as (
SELECT part_id, ((rpm * watt) / size) as quality
FROM (
SELECT part_id, rpm, watt + (select avg(watt) from yurnol_qoltam) as watt, size
FROM yurnol_qoltam
)
)
SELECT *
FROM yurnol_qoltam_quality
WHERE quality > (select avg(quality) from yurnol_qoltam_quality)
),
quality_table as (
SELECT * FROM filtered_enom_gilpane_quality
UNION ALL
SELECT * FROM filtered_castle_loctus_quality
UNION ALL
SELECT * FROM filtered_honpan_bilopsa_quality
UNION ALL
SELECT * FROM filtered_yurnol_qoltam_quality
)
-- Сведите объединённые строки к одной строке на каждую деталь продукта, сначала наибольшее среднее
SELECT part_id, ____ as avg_quality
FROM quality_table
GROUP BY ____
ORDER BY ____Все уроки раздела Основы
4Больше ключевых слов
Ключевое слово INКлючевое слово BETWEENКлючевое слово LIKEКлючевое слово ASПовторение - Модели мобильных телефонов10Вымышленные продукты
Отрегулировать ВаттРассчитать качество продукта2Условия
Основы условийКлючевое слово ANDКлючевое слово ORКлючевое слово NOTКомбинирование нескольких условийСкобкиБулевы значения5Арифметические операции
Математические операторыМатематические столбцыОперация moduloФункция ROUND()3Специальный формат возврата
Значения NULLСортировка результатов, часть 1Сортировка результатов, часть 2Повторение - Фирма по кибербезопасностиОграничение количества записейПовторение - Автозавод6Вводные вызовы
Повторение - Парламентские выборыПовторение - Арест преступника полициейПовторение - Ёмкость для напитков в бареПовторение - Создание новых столбцовПотренируйтесь самостоятельно: Песочница SQL