النسبة المئوية SQL

Alnsbt Almywyt Sql



ما هي الكلمتان الشائعتان المرتبطتان ارتباطًا وثيقًا لدرجة أنك تعتقد أنهما متماثلتان؟ بالنسبة لنا نحن مطوري قواعد البيانات، ستكون قاعدة بيانات SQL وإحصائياتها.

إحدى الحسابات الإحصائية الشائعة التي تظهر حتى في إدارة قاعدة البيانات هي النسبة المئوية.

النسبة المئوية هي مقياس إحصائي يسمح لنا بتقسيم مجموعة البيانات إلى أجزاء متساوية من المقاطع. يتمثل دور النسب المئوية في توفير نظرة ثاقبة لتوزيع البيانات، وهي الطريقة التي نفهم بها كيفية انتشار القيم.







في هذا البرنامج التعليمي، سوف نتعلم كيف يمكننا حساب النسب المئوية في SQL لتقسيم البيانات إلى أجزاء مختلفة.



جدول العينة

لنبدأ بإعداد جدول أساسي يحتوي على نموذج بيانات لأغراض العرض التوضيحي. وهذا يساعدنا على توضيح كيفية عمل الطرق المختلفة لحساب النسب المئوية والمخرجات الناتجة.



لنقم بإنشاء جدول يسمى 'المنتجات' يحتوي على معلومات البقالة. جملة 'إنشاء جدول' هي كما يلي:





إنشاء منتجات الجدول (

Product_id INT المفتاح الأساسي AUTO_INCREMENT،

اسم المنتج VARCHAR( 255

فئة فارتشار( 255

السعر العشري( 10 , 2

كمية إنت,

تاريخ انتهاء الصلاحية التاريخ،

الباركود الكبير

);

بمجرد إنشاء الجدول، يمكننا المتابعة وإضافة البيانات النموذجية إلى الجدول. يمكننا استخدام عبارات 'insert' التالية:

إدراج
داخل
المنتجات (اسم_المنتج،
فئة،
سعر،
كمية،
تاريخ انتهاء الصلاحية،
الباركود)
قيم ( 'قبعة الشيف 25 سم' ,
'مخبز' ,
24.67 ,
57 ,
'2023-09-09' ,
2854509564204 );

إدراج
داخل
المنتجات (اسم_المنتج،
فئة،
سعر،
كمية،
تاريخ انتهاء الصلاحية،
الباركود)
قيم ( 'بيض السمان - معلب' ,
'مخزن' ,
17.99 ,
67 ,
'2023-09-29' ,
1708039594250 );

إدراج
داخل
المنتجات (اسم_المنتج،
فئة،
سعر،
كمية،
تاريخ انتهاء الصلاحية،
الباركود)
قيم ( 'قهوة - بيض نوج كابوتشينو' ,
'مخبز' ,
92.53 ,
10 ,
'2023-09-22' ,
8704051853058 );

إدراج
داخل
المنتجات (اسم_المنتج،
فئة،
سعر،
كمية،
تاريخ انتهاء الصلاحية،
الباركود)
قيم ( 'الكمثرى - الشائك' ,
'مخبز' ,
65.29 ,
48 ,
'2023-08-23' ,
5174927442238 );

إدراج
داخل
المنتجات (اسم_المنتج،
فئة،
سعر،
كمية،
تاريخ انتهاء الصلاحية،
الباركود)
قيم ( 'المعكرونة - شعر الملاك' ,
'مخزن' ,
48.38 ,
59 ,
'2023-08-05' ,
8008123704782 );

إدراج
داخل
المنتجات (اسم_المنتج،
فئة،
سعر،
كمية،
تاريخ انتهاء الصلاحية،
الباركود)
قيم ( 'النبيذ - بروسيكو فالدوبياديني' ,
'ينتج' ,
44.18 ,
3 ,
'2023-03-13' ,
6470981735653 );

وفي النهاية يجب أن يكون لديك جدول كما يلي:



النسبة المئوية SQL

كما يمكنك التخمين، قد تختلف طريقة حساب النسبة المئوية اعتمادًا على محرك قاعدة البيانات. ومع ذلك، الطريقة الأكثر شيوعًا هي استخدام الدالتين PERCENTILE_DISC() وPERCENTILE_CONT().

تعد هذه الوظائف جزءًا من مواصفات SQL القياسية (2003). وبالتالي، لا بد أن يتم دعمها بواسطة PostgreSQL وOracle.

PERCENTILE_CONT()

لنبدأ بالدالة PERCENTILE_CONT(). تتيح لنا هذه الوظيفة حساب القيم المئوية كجزء من مجموعة البيانات.

ترجع الدالة قيمًا محرفة قد لا تكون دقيقة لنقطة البيانات المحددة في مجموعة البيانات الخاصة بك.

بناء جملة الوظيفة كما يلي:

PERCENTILE_CONT(المئوي) داخل مجموعة ( طلب حسب اسم العمود) OVER ()؛

تقبل الدالة المعلمات التالية:

  • النسبة المئوية - تحدد القيمة المئوية المطلوبة (0.0 إلى 1.0).
  • column_name - يشير إلى العمود الذي نرغب في حساب النسبة المئوية له.
  • OVER () - يقوم بتعيين وظيفة النافذة لتحديد مجموعة البيانات بأكملها.

مثال على كيفية استخدام هذه الوظيفة كما يلي:

يختار

PERCENTILE_CONT( 0.5 ) داخل مجموعة ( طلب حسب السعر) أكثر من () كمتوسط

من

منتجات؛

ملاحظة: الاستعلام المحدد يعمل فقط في PostgreSQL نظرًا لأن MySQL لا يدعم استخدام WHOIN GROUP.

وهذا يحسب الخمسين ذ النسبة المئوية للبيانات المقدمة.

PERCENTILE_DISC()

يمكننا استخدام الدالة PERCENTILE_DISC() لحساب القيمة المئوية كقيمة منفصلة مباشرة من مجموعة البيانات.

تقوم الدالة بإرجاع قيمة تتوافق مع نقطة بيانات فعلية.

بناء جملة الوظيفة كما يلي (PostgreSQL):

PERCENTILE_DISC(المئوي) داخل مجموعة ( طلب حسب اسم العمود) OVER ()؛

مثال على الإخراج هو كما يلي:

يختار

PERCENTILE_DISC( 0.25 ) داخل مجموعة ( طلب حسب السعر) أكثر من () بنسبة مئوية_25

من

منتجات؛

هذا ينبغي أن يحسب 25 ذ النسبة المئوية للبيانات.

خاتمة

يغطي هذا البرنامج التعليمي كيفية استخدام الوظائف المختلفة لحساب النسب المئوية في قواعد بيانات SQL.