المتوسط العام
جزء من قسم الأساسيات في رحلة 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 ____جميع دروس الأساسيات
2الشروط
أساسيات الشروطالكلمة المفتاحية ANDالكلمة المفتاحية ORالكلمة المفتاحية NOTدمج شروط متعددةالأقواسالقيم المنطقية Booleans3تنسيق محدد للنتائج
قيم Nullترتيب النتائج - الجزء الأولترتيب النتائج - الجزء الثانيمراجعة - شركة للأمن السيبرانيتحديد عدد السجلاتمراجعة - مصنع مركبات6تحديات تمهيدية
مراجعة - الانتخابات البرلمانيةمراجعة - اعتقال الشرطة للمجرمينمراجعة - حاوية مشروبات البارمراجعة - هندسة أعمدة جديدة9جداول متعددة
الربط الأساسي - الجزء الأولالربط الأساسي - الجزء الثانيمراجعة - الربط (Join)الربط الذاتي (Self Join)مراجعة - الربط الذاتي (Self Join)الاتحاد (Union)تبسيط الاستعلامات، الكلمة المفتاحية WITHمراجعة - استعلامات WITHمراجعة - مقاول العقارات12Window Functions الجزء الثاني
دوال RANK و DENSE_RANKمراجعة - RANK و DENSE_RANKدالة NTILEدوال التجميعمعيار ROWS و RANGEتدرّب بنفسك: Playground لـ SQL