مراجعة - مقاول العقارات
جزء من قسم الأساسيات في رحلة SQL على Coddy. الدرس 51 من 72.
التحدي
متوسطالجداول والأعمدة المتاحة:
real_estate:asset_id،value،datepotential:asset_id،forecast
يتوقع بعض المحللين مقدار النمو الذي ستحققه أصول real_estate. نريد التحقق مما إذا كان توقعهم صحيحًا.
لكل أصل في جدول real_estate، احسب ratio بين value في تاريخ newer وقيمة تاريخ older.
على سبيل المثال، إذا كانت قيمة أحد الأصول في 2022-01-01 تساوي 5 وفي 2022-05-01 تساوي 10، فإن ratio يساوي 10/5 = 2.
تجاهل كل المقارنات التي يكون فيها فرق الأيام بين التاريخين أصغر من 101.
هناك تواريخ عديدة لكل أصل، ولذلك توجد ratios عديدة للمقارنة. احتفظ بـ أكبر ratio لكل أصل.
أخيرًا، نفّذ divide لهذا ratio على forecast المطابق من جدول potential (وسمِّ هذا الحقل ratio_forecast)، ثم رتّب result ترتيبًا تنازليًا.
يجب أن يحتوي result النهائي على asset_id وratio_forecast.
احتفظ only بالأصول التي يكون فيها ratio_forecast أكبر من 1.
ملاحظة: للحصول على نتيجة عشرية من عملية divide (/)، قد تحتاج أحيانًا إلى ضرب البسط في 1.0.
على سبيل المثال، بدلًا من a / b استخدم a * 1.0 / b للحصول على النتيجة العشرية (عندما يكون a وb متغيرين)
جرّب بنفسك
-- الاستعلام الخارجي: اقسم الرقم المحسوب أدناه على الرقم المطابق من الجدول الآخر
SELECT potential.asset_id, ____ AS ratio_forecast
FROM (
-- الاستعلام الداخلي: اربط الجدول بنفسه حتى يمكن مقارنة صف أقدم بصف أحدث
SELECT r1.asset_id, ____ AS ratio
FROM real_estate AS r1
JOIN real_estate AS r2 ON ____
-- احتفظ فقط بالأزواج المتباعدة بما يكفي في الزمن
WHERE JULIANDAY(r2.date) - JULIANDAY(r1.date) > ____
-- صف نتيجة واحد لكل مجموعة، مع الإبقاء فقط على أكبر مقارنة واحدة
GROUP BY r1.asset_id
) AS actual
JOIN potential ON ____
WHERE ratio_forecast > 1
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