ایس کیو ایل پرسنٹائل

Ays Kyw Ayl Prsn Ayl



وہ دو عام الفاظ کون سے ہیں جو اتنے قریب سے جڑے ہوئے ہیں کہ آپ کو لگتا ہے کہ وہ ایک جیسے ہیں؟ ہمارے ڈیٹا بیس ڈویلپرز کے لیے، یہ ایس کیو ایل ڈیٹا بیس اور شماریات ہوں گے۔

عام شماریاتی حسابات میں سے ایک جو ڈیٹا بیس ایڈمنسٹریشن میں بھی سامنے آتا ہے وہ صد فیصد ہے۔

صد فیصد ایک شماریاتی پیمانہ ہے جو ہمیں ڈیٹاسیٹ کو حصوں کے مساوی حصوں میں تقسیم کرنے کی اجازت دیتا ہے۔ پرسنٹائلز کا کردار ڈیٹا کی تقسیم میں بصیرت فراہم کرنا ہے جس سے ہم یہ سمجھتے ہیں کہ اقدار کو کیسے پھیلایا جاتا ہے۔







اس ٹیوٹوریل میں، ہم سیکھیں گے کہ ڈیٹا کو مختلف حصوں میں تقسیم کرنے کے لیے ہم SQL میں پرسنٹائلز کا حساب کیسے لگا سکتے ہیں۔



نمونہ ٹیبل

آئیے ایک بنیادی جدول ترتیب دے کر شروع کریں جس میں مظاہرے کے مقاصد کے لیے نمونہ ڈیٹا موجود ہو۔ اس سے ہمیں یہ واضح کرنے میں مدد ملتی ہے کہ پرسنٹائل کا حساب لگانے کے مختلف طریقے کس طرح برتاؤ کرتے ہیں اور اس کے نتیجے میں آؤٹ پٹ۔



آئیے 'مصنوعات' کے نام سے ایک ٹیبل بناتے ہیں جس میں گروسری کی معلومات ہوتی ہیں۔ 'ٹیبل بنائیں' کی شق درج ذیل ہے:





ٹیبل پروڈکٹس بنائیں (

پروڈکٹ_آئی ڈی بنیادی کلیدی آٹو_INCREMENT،

پروڈکٹ_نام VARCHAR( 255 )

زمرہ VARCHAR( 255 )

قیمت ڈیسیمل( 10 ، 2 )

مقدار INT،

میعاد ختم ہونے کی_تاریخ DATE،

بارکوڈ بڑا

);

ٹیبل بنانے کے بعد، ہم آگے بڑھ سکتے ہیں اور ٹیبل میں نمونہ ڈیٹا شامل کر سکتے ہیں۔ ہم درج ذیل 'داخل' بیانات استعمال کر سکتے ہیں:

داخل کریں
میں
مصنوعات (پروڈکٹ_نام،
قسم،
قیمت،
مقدار،
میعاد ختم ہونے کی_تاریخ،
بارکوڈ)
اقدار ( 'شیف ہیٹ 25 سینٹی میٹر' ،
'بیکری' ،
24.67 ،
57 ،
'2023-09-09' ،
2854509564204 );

داخل کریں
میں
مصنوعات (پروڈکٹ_نام،
قسم،
قیمت،
مقدار،
میعاد ختم ہونے کی_تاریخ،
بارکوڈ)
اقدار ( 'بٹیر کے انڈے - ڈبے میں بند' ،
'پینٹری' ،
17.99 ،
67 ،
'29-09-2023' ،
1708039594250 );

داخل کریں
میں
مصنوعات (پروڈکٹ_نام،
قسم،
قیمت،
مقدار،
میعاد ختم ہونے کی_تاریخ،
بارکوڈ)
اقدار ( 'کافی - انڈے نوگ کیپوچینو' ،
'بیکری' ،
92.53 ،
10 ،
'22-09-2023' ،
8704051853058 );

داخل کریں
میں
مصنوعات (پروڈکٹ_نام،
قسم،
قیمت،
مقدار،
میعاد ختم ہونے کی_تاریخ،
بارکوڈ)
اقدار ( 'ناشپاتی - کانٹے دار' ،
'بیکری' ،
65.29 ،
48 ،
'23-08-2023' ،
5174927442238 );

داخل کریں
میں
مصنوعات (پروڈکٹ_نام،
قسم،
قیمت،
مقدار،
میعاد ختم ہونے کی_تاریخ،
بارکوڈ)
اقدار ( 'پاستا - فرشتہ بال' ،
'پینٹری' ،
48.38 ،
59 ،
'2023-08-05' ،
8008123704782 );

داخل کریں
میں
مصنوعات (پروڈکٹ_نام،
قسم،
قیمت،
مقدار،
میعاد ختم ہونے کی_تاریخ،
بارکوڈ)
اقدار ( 'شراب - پراسیکو والڈوبیڈین' ،
'پیداوار' ،
44.18 ،
3 ،
'2023-03-13' ،
6470981735653 );

آخر میں، آپ کو مندرجہ ذیل کے طور پر ایک میز ہونا چاہئے:



ایس کیو ایل پرسنٹائل

جیسا کہ آپ اندازہ لگا سکتے ہیں، ڈیٹا بیس انجن کے لحاظ سے پرسنٹائل کا حساب لگانے کا طریقہ مختلف ہو سکتا ہے۔ تاہم، سب سے عام طریقہ PERCENTILE_DISC() اور PERCENTILE_CONT() فنکشنز کا استعمال کرنا ہے۔

یہ افعال معیاری ایس کیو ایل تفصیلات (2003) کا حصہ ہیں۔ لہذا، پوسٹگری ایس کیو ایل اور اوریکل کے ذریعہ اس کی حمایت کی جائے گی۔

PERCENTILE_CONT()

آئیے PERCENTILE_CONT() فنکشن کے ساتھ شروع کریں۔ یہ فنکشن ہمیں ڈیٹاسیٹ کے ایک حصے کے طور پر فیصدی قدروں کا حساب لگانے کی اجازت دیتا ہے۔

فنکشن ایک انٹرپولیٹڈ اقدار لوٹاتا ہے جو ہو سکتا ہے کہ آپ کے ڈیٹاسیٹ میں مخصوص ڈیٹا پوائنٹ کے عین مطابق نہ ہو۔

فنکشن نحو مندرجہ ذیل ہے:

PERCENTILE_CONT(فیصدی) WITHIN گروپ ( ترتیب کالم_نام سے) اوور ()؛

فنکشن مندرجہ ذیل پیرامیٹرز کو قبول کرتا ہے:

  • صد فیصد - یہ مطلوبہ پرسنٹائل قدر (0.0 سے 1.0) کی وضاحت کرتا ہے۔
  • کالم_نام - یہ اس کالم کی نشاندہی کرتا ہے جس کے لیے ہم صد فیصد کا حساب لگانا چاہتے ہیں۔
  • اوور () - یہ ونڈو فنکشن کو پورے ڈیٹاسیٹ کی وضاحت کرنے کے لیے سیٹ کرتا ہے۔

اس فنکشن کو استعمال کرنے کے طریقے کی ایک مثال مندرجہ ذیل ہے۔

منتخب کریں۔

PERCENTILE_CONT( 0.5 ) اندر گروپ ( ترتیب قیمت کے لحاظ سے) اوور () بطور میڈین

سے

مصنوعات؛

نوٹ: دی گئی استفسار صرف PostgreSQL میں کام کرتی ہے کیونکہ MySQL WITHIN GROUP کے استعمال کی حمایت نہیں کرتا ہے۔

یہ 50 کا حساب لگاتا ہے۔ ویں فراہم کردہ ڈیٹا کا فیصد۔

PERCENTILE_DISC()

ہم PERCENTILE_DISC() فنکشن کو ڈیٹا سیٹ سے براہ راست ایک مجرد قدر کے طور پر پرسنٹائل ویلیو کا حساب لگانے کے لیے استعمال کر سکتے ہیں۔

فنکشن ایک ایسی قدر لوٹاتا ہے جو اصل ڈیٹا پوائنٹ سے مطابقت رکھتا ہے۔

فنکشن نحو درج ذیل ہے (PostgreSQL):

PERCENTILE_DISC(فیصدی) WITHIN گروپ ( ترتیب کالم_نام سے) اوور ()؛

ایک مثال آؤٹ پٹ مندرجہ ذیل ہے:

منتخب کریں۔

PERCENTILE_DISC( 0.25 ) اندر گروپ ( ترتیب قیمت کے لحاظ سے) OVER () AS فیصد_25

سے

مصنوعات؛

یہ 25 کا حساب لگانا چاہئے۔ ویں ڈیٹا کا فیصد۔

نتیجہ

اس ٹیوٹوریل میں اس بات کا احاطہ کیا گیا ہے کہ ایس کیو ایل ڈیٹا بیس میں پرسنٹائل کا حساب لگانے کے لیے مختلف فنکشنز کو کیسے استعمال کیا جائے۔