حساب نسب الدرجات بكفاءة من البيانات غير المهيكلة مع SQL
تخزين الدرجات كنص مجاني في قاعدة بيانات يمثل تحديات عند حساب توزيعات النسبة المئوية للصف. تقدم هذه المقالة حلول SQL لحساب هذه النسب المئوية لجميع الدرجات ، حتى بدون قيم الصف المحددة مسبقًا.
استعلام SQL لحساب النسبة المئوية
هذا الاستعلام SQL يعزز الدالة Over ()
لحساب النسبة المئوية الفعالة عبر قيم الصف الفريدة:
SELECT Grade, COUNT(*) * 100.0 / SUM(COUNT(*)) OVER ()
FROM MyTable
GROUP BY Grade;
تقوم الدالة Over ()
بحساب إجمالي عدد الصفوف عبر الجدول بأكمله ، مما يتيح حساب النسبة المئوية دون الحاجة إلى تحديد جميع الدرجات الممكنة.
استعلام SQL البديل (لقواعد البيانات بدون Over ()
وظيفة)
بالنسبة لقواعد البيانات التي تفتقر إلى الدالة Over ()
، يستخدم هذا الاستعلام البديل مساعًا فرعيًا:
SELECT Grade, COUNT(*) * 100.0 / (SELECT COUNT(*) FROM MyTable)
FROM MyTable
GROUP BY Grade;
يستخدم هذا النهج مساعًا فرعيًا للحصول على إجمالي عدد الصفوف ، ثم يحسب النسب المئوية.
ملاحظة مهمة: هذه الحلول تحسب بدقة النسب المئوية عندما يتم تخزين بيانات الصف كقيم أحادية الشحن (على سبيل المثال ، "A" ، "B" ، "C"). تتطلب تنسيقات الدرجة الأكثر تعقيدًا داخل النص غير المنظم المعالجة المسبقة لاستخراج قيم الصف قبل تطبيق استعلامات SQL هذه.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3