تحويل الصفوف إلى أعمدة
جزء من قسم ما وراء الأساسيات في رحلة SQL على Coddy. الدرس 14 من 27.
اجمع بين التجميع الشرطي وGROUP BY لتحويل الصفوف إلى أعمدة. إنها نسخة SQL من جدول محوري في جدول بيانات.
لنفترض أن sales يحتوي على صفوف بالشكل (month, product, units). لعرض صف واحد لكل month مع عمود واحد لكل product:
SELECT
month,
SUM(CASE WHEN product = 'A' THEN units ELSE 0 END) AS product_a,
SUM(CASE WHEN product = 'B' THEN units ELSE 0 END) AS product_b
FROM sales
GROUP BY monthتحتوي حاوية GROUP BY التي يراها كل SUM(CASE …) على الصفوف الخاصة بـ one month؛ وتختار CASE الجزء الخاص بـ one product.
التحدي
سهلالجداول والأعمدة المتاحة:
sales:month،product،units
حوِّل البيانات بحيث يكون كل صف عبارة عن month واحدًا مع هذه الأعمدة:
monthapples: إجماليunitsللمنتج'apples'في ذلك الشهرbananas: الأمر نفسه بالنسبة إلى'bananas'cherries: الأمر نفسه بالنسبة إلى'cherries'total: إجماليunitsلجميع المنتجات في ذلك الشهر
أعِد فقط الأشهر التي يكون فيها total على الأقل 20. رتّب حسب month.
جرّب بنفسك
SELECT month,
-- واحد SUM(CASE ...) لكل منتج، بالإضافة إلى الإجمالي
FROM sales
GROUP BY month
-- تصفية الأشهر التي إجماليها >= 20
ORDER BY month
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس ما وراء الأساسيات
تدرّب بنفسك: Playground لـ SQL