Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

المتوسط العام

جزء من قسم الأساسيات في رحلة SQL على Coddy — الدرس 56 من 72.

challenge icon

التحدي

سهل

الجداول والأعمدة المتاحة:

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

 

أخيرًا، احسب متوسط الجودة (average quality) لكل part_id.

قم بإرجاع part_id و avg_quality، مع الترتيب حسب avg_quality بترتيب تنازلي.

جرّب بنفسك

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

جميع دروس الأساسيات