Menu
Coddy logo textTech

The Overall Average

Parte da seção Fundamentos do Journey de SQL da Coddy — lição 56 de 72.

challenge icon

Desafio

Fácil

Tabelas e colunas disponíveis:

  • <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>

 

Finalmente, calcule a qualidade média para cada part_id.

Retorne part_id avg_quality, ordenado por avg_quality em ordem decrescente.

Experimente você mesmo

SELECT part_id, AVG(quality) AS quality
FROM (
    SELECT part_id, AVG(quality) AS quality
    FROM (
        SELECT part_id, (rpm * (watt + (SELECT AVG(watt) FROM enom_gilpane)) / size) as quality
        FROM enom_gilpane
    )
    GROUP BY part_id
    HAVING quality > AVG(quality)
    UNION ALL
    SELECT part_id, AVG(quality) AS quality
    FROM (
        SELECT part_id, (rpm * (watt + (SELECT AVG(watt) FROM castle_loctus)) / size) as quality
        FROM castle_loctus
    )
    GROUP BY part_id
    HAVING quality > AVG(quality)
    UNION ALL
    SELECT part_id, AVG(quality) AS quality
    FROM (
        SELECT part_id, (rpm * (watt + (SELECT AVG(watt) FROM honpan_bilopsa)) / size) as quality
        FROM honpan_bilopsa
    )
    GROUP BY part_id
    HAVING quality > AVG(quality)
    UNION ALL
    SELECT part_id, AVG(quality) AS quality
    FROM (
        SELECT part_id, (rpm * (watt + (SELECT AVG(watt) FROM yurnol_qoltam)) / size) as quality
        FROM yurnol_qoltam
    )
    GROUP BY part_id
    HAVING quality > AVG(quality)
)
GROUP BY part_id
ORDER BY quality DESC

Todas as lições de Fundamentos