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

دوال التجميع المدمجة - الجزء الثاني

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

أحيانًا نحتاج إلى استخدام الدوال التجميعية بطرق أكثر تعقيدًا، مثل مقارنة كل صف بقيمة تجميعية. وهنا تصبح الاستعلامات المتداخلة مفيدة.

عندما تريد إجراء حسابات تجمع بين الصفوف الفردية والقيم التجميعية، تحتاج إلى استخدام استعلام متداخل. إليك السبب:
لن يمنحك هذا النتيجة لكل صف التي تريدها:

SELECT value + MIN(value)
FROM table1

السبب هو أن دوال التجميع تعمل على العمود بأكمله، بينما يحاول المرجع 'value' العمل صفًا تلو الآخر. لحل هذه المشكلة، نستخدم استعلامًا متداخلًا:

SELECT value + (SELECT MIN(value) FROM table1)
FROM table1

يعمل هذا لأن الاستعلام المتداخل (SELECT MIN(value) FROM table1) يُنفَّذ أولًا ويُرجع قيمة واحدة، والتي يمكن استخدامها بعد ذلك في الاستعلام الرئيسي لكل صف.

حالات الاستخدام الشائعة للتجميعات المتداخلة:
1. مقارنة كل قيمة بالمتوسط

2. حساب النسبة المئوية من الإجمالي

3. إيجاد الفروقات عن القيم القصوى أو الدنيا

challenge icon

التحدي

سهل

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

  • items: id، price

احسب مقدار تجاوز سعر كل عنصر لمتوسط سعر جميع العناصر. اعرض معرّف العنصر وسعره والفرق عن المتوسط. سمِّ عمود الفرق باسم diff_from_avg.

رتّب النتائج حسب الفرق بترتيب تنازلي.

جرّب بنفسك

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

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

تدرّب بنفسك: Playground لـ SQL