COS کے ساتھ MySQL کاؤنٹ میچنگ ریکارڈز۔

Mysql Count Matching Records With Count



ڈیٹا فالتو پن بہت سی وجوہات کی بناء پر ہوتا ہے۔ ڈیٹا بیس سسٹم کے ساتھ کام کرتے ہوئے آپ کو جن پیچیدہ فرائض کا سامنا کرنا چاہیے ان میں سے کئی ڈپلیکیٹ اقدار کو دریافت کرنے کی کوشش کر رہے ہیں۔ اس مقصد کے لیے ہم COUNT () مجموعی طریقہ استعمال کریں گے۔ COUNT () طریقہ ایک مخصوص ٹیبل میں رہنے والی قطاروں کا مجموعہ لوٹاتا ہے۔ COUNT () فنکشن آپ کو اجازت دیتا ہے کہ تمام قطاروں یا صرف قطار کی وضاحت کی گئی شرط سے ملیں۔ اس گائیڈ میں ، آپ کو معلوم ہوگا کہ COUNT () کا استعمال کرتے ہوئے ایک یا زیادہ MySQL کالموں کے لیے ڈپلیکیٹ اقدار کی شناخت کیسے کی جائے۔ COUNT () طریقہ کار میں درج ذیل تین اقسام ہیں:

  • شمار(*)
  • COUNT (اظہار)
  • COUNT (DISTINCT اظہار)

یقینی بنائیں کہ آپ نے اپنے سسٹم پر MySQL انسٹال کیا ہوا ہے۔ MySQL کمانڈ لائن کلائنٹ شیل کھولیں اور جاری رکھنے کے لیے اپنا پاس ورڈ درج کریں۔ ہم COUNT () طریقہ استعمال کرتے ہوئے مماثل اقدار کی گنتی کے لیے کچھ مثالیں دیکھیں گے۔









ہمارے اسکیما 'ڈیٹا' میں ایک ٹیبل 'سماجی' ہے۔ آئیے درج ذیل استفسار کے ذریعے اس کا ریکارڈ چیک کریں۔



>> منتخب کریں * سے ڈیٹا .سماجی؛





ایس کیو ایل کاؤنٹ (*)

COUNT (*) طریقہ ٹیبل میں رہنے والی قطاروں کی تعداد گننے یا دی گئی حالت کے مطابق قطاروں کی تعداد گننے کے لیے استعمال کیا جاتا ہے۔ ایک ٹیبل میں قطاروں کی کل تعداد چیک کرنے کے لیے ، 'سماجی' نیچے دی گئی استفسار کو آزمائیں۔ ہمارے پاس نتائج کے مطابق ٹیبل میں کل 15 قطاریں ہیں۔

>> منتخب کریں شمار (*) سے ڈیٹا .سماجی؛



کچھ شرائط کی وضاحت کرتے ہوئے COUNT (*) طریقہ کی ایک جھلک دیکھیں۔ ہمیں قطاروں کی تعداد لانا ہوگی جہاں صارف نام 'مصطفی' جیسا ہو۔ آپ دیکھ سکتے ہیں کہ ہمارے پاس اس مخصوص نام کے صرف 4 ریکارڈ ہیں۔

>> منتخب کریں شمار (*) سے ڈیٹا .سماجی کہاں صارف۔ ='مصطفی'؛

قطاروں کی کل رقم حاصل کرنے کے لیے جہاں صارفین کی ویب سائٹ 'انسٹاگرام' ہے ، نیچے دی گئی استفسار کو آزمائیں۔ ٹیبل 'سوشل' میں ویب سائٹ 'انسٹاگرام' کے صرف 4 ریکارڈز ہیں۔

>> منتخب کریں شمار (*) سے ڈیٹا .سماجی کہاں ویب سائٹ='انسٹاگرام'؛

قطاروں کی کل تعداد حاصل کرنے کے لیے جہاں 'عمر' 18 سے زیادہ ہے درج ذیل ہے:

>> منتخب کریں شمار (*) سے ڈیٹا .سماجی کہاں عمر۔> 18۔؛

آئیے ایک ٹیبل سے کالم 'صارف' اور 'ویب سائٹ' کا ڈیٹا لائیں ، جہاں صارف کا نام حروف تہجی 'M' سے شروع ہوتا ہے۔ شیل پر درج ذیل ہدایات کو آزمائیں۔

>> منتخب کریں صارف۔ ،ویب سائٹ سے ڈیٹا .سماجی کہاں صارف۔ جیسے 'ایم٪'؛

ایس کیو ایل کاؤنٹ (اظہار)

مائی ایس کیو ایل میں ، COUNT (اظہار) کا طریقہ صرف اس وقت استعمال ہوتا ہے جب آپ کالم 'اظہار' کی غیر خالی اقدار کو شمار کرنا چاہتے ہیں۔ 'اظہار' کسی بھی کالم کا نام ہوگا۔ آئیے اس کی ایک سادہ سی مثال لیتے ہیں۔ ہم صرف ایک کالم 'ویب سائٹ' کی غیر منقولہ اقدار کو گن رہے ہیں ، جس کا تعلق کالم 'عمر' سے ہے جس کی قیمت '25' کے برابر ہے۔ دیکھو! ہمارے پاس ان صارفین کے لیے صرف 4 غیر ریکارڈ ہیں جن کی عمریں '25' ہیں ، جو ویب سائٹس استعمال کر رہے ہیں۔

>> منتخب کریں شمار (ویب سائٹ) سے ڈیٹا .سماجی کہاں عمر۔= 25۔؛

ایس کیو ایل کاؤنٹ (DISTNCT اظہار)

مائی ایس کیو ایل میں ، COUNT (DISTINCT اظہار) کا طریقہ کالم 'اظہار' کی غیر منفی اقدار اور الگ اقدار کو جمع کرنے کے لیے استعمال کیا جاتا ہے۔ کالم 'عمر' میں غیر منقولہ اقدار کی ایک الگ تعداد گننے کے لیے ہم ذیل میں استفسار کرتے رہے ہیں۔ آپ کو ٹیبل 'سماجی' سے کالم 'عمر' کے 6 غیر منقول اور الگ الگ ریکارڈ ملیں گے۔ اس کا مطلب ہے کہ ہمارے پاس کل 6 لوگ ہیں جن کی عمریں مختلف ہیں۔

>> منتخب کریں شمار ( DISTINCT عمر۔) سے ڈیٹا .سماجی؛

ایس کیو ایل کاؤنٹ (اگر (اظہار))

بڑے زور کے لیے ، آپ کو COUNT () کو فلو کنٹرول افعال کے ساتھ ضم کرنا چاہیے۔ آغاز کے لیے ، COUNT () طریقہ کار میں استعمال ہونے والے اظہار کے ایک حصے کے لیے ، آپ IF () فنکشن استعمال کر سکتے ہیں۔ ڈیٹا بیس کے اندر موجود معلومات کو تیزی سے خراب کرنے کے لیے ایسا کرنا بہت مفید ہو سکتا ہے۔ ہم مختلف عمر کے حالات کے ساتھ قطاروں کی تعداد گن رہے ہوں گے اور انہیں تین مختلف کالموں میں تقسیم کریں گے ، جنہیں زمرے کہا جا سکتا ہے۔ سب سے پہلے ، COUNT (IF) 20 سے کم عمر والی قطاروں کی گنتی کرے گی اور اس گنتی کو 'نوعمر' کے نام سے ایک نئے کالم میں محفوظ کرے گی۔ دوسرا COUNT (IF) ان قطاروں کی گنتی کر رہا ہے جن کی عمریں 20 اور 30 ​​کے درمیان ہیں جبکہ اسے کالم 'جوان' میں محفوظ کرتے ہوئے۔ تیسرا ، آخری ان قطاروں کو شمار کرتا ہے جن کی عمریں 30 سے ​​زیادہ ہیں اور انہیں کالم 'بالغ' میں محفوظ کیا جاتا ہے۔ ہمارے ریکارڈ میں 5 نوعمر ، 9 نوجوان اور صرف 1 بالغ شخص ہے۔

>> منتخب کریں شمار ( اگر (عمر۔< بیس،، خالی ))'نوعمر'، شمار ( اگر (عمر۔ کے درمیان بیس اور 30۔،، خالی ))'نوجوان'، شمار ( اگر (عمر۔> 30۔،، خالی ))'بالغ' سے ڈیٹا .سماجی؛

MySQL COUNT (*) GROUP BY Clause کے ساتھ۔

GROUP BY بیان ایک ایس کیو ایل ہدایات ہے جو کہ ایک ہی اقدار والی گروپ قطاروں کے لیے استعمال کرتی ہے۔ یہ ہر گروپ میں رہنے والی اقدار کی کل تعداد لوٹاتا ہے۔ مثال کے طور پر ، اگر آپ ہر صارف کا نمبر الگ سے چیک کرنا چاہتے ہیں تو آپ کو COUNT (*) کے ساتھ ہر صارف کے ریکارڈ کی گنتی کرتے ہوئے GROUP BY شق کے ساتھ کالم 'صارف' کی وضاحت کرنی ہوگی۔

>> منتخب کریں صارف۔ ، شمار (*) سے ڈیٹا .سماجی گروپ بائی صارف۔ ؛

آپ یا تو دو سے زیادہ کالم منتخب کر سکتے ہیں جبکہ GROUP BY شق کے ساتھ قطاروں کی گنتی کو انجام دے رہے ہیں۔

>> منتخب کریں صارف۔ ،عمر۔،ویب سائٹ، شمار (*) سے ڈیٹا .سماجی گروپ بائی ویب سائٹ؛

اگر ہم GROUP BY اور COUNT (*) کے ساتھ WHERE شق میں کچھ شرائط رکھتے ہوئے قطاریں گننا چاہتے ہیں تو آپ یہ بھی کر سکتے ہیں۔ مندرجہ ذیل استفسار کالموں کے ریکارڈ لائے گا اور ان کی گنتی کرے گا: 'صارف' ، 'ویب سائٹ' ، اور 'عمر' جہاں ویب سائٹ کی قیمت صرف 'انسٹاگرام' اور 'اسنیپ چیٹ' ہے۔ آپ دیکھ سکتے ہیں کہ ہمارے پاس مختلف صارفین کے لیے دونوں ویب سائٹس کے لیے صرف 1 ریکارڈ ہے۔

>> منتخب کریں صارف۔ ،ویب سائٹ،عمر۔، شمار (*) سے ڈیٹا .سماجی کہاں ویب سائٹ='انسٹاگرام' یا ویب سائٹ='سنیپ چیٹ' گروپ بائی ویب سائٹ،عمر۔؛

MySQL COUNT (*) GROUP BY اور آرڈر BY کلاز کے ساتھ۔

آئیے COUNT () طریقہ کے ساتھ مشترکہ طور پر GROUP BY اور ORDER BY شقوں کو آزمائیں۔ آئیے اس سوال کا استعمال کرتے ہوئے ڈیٹا کو نزولی ترتیب میں ترتیب دیتے ہوئے ٹیبل 'سماجی' کی قطاریں لائیں اور گنیں:

>> منتخب کریں صارف۔ ،ویب سائٹ،عمر۔، شمار (*) سے ڈیٹا .سماجی گروپ بائی عمر۔ آرڈر بائی۔ شمار (*) ڈی ای ایس سی۔ ؛

ذیل میں بیان کردہ استفسار پہلے قطاروں کی گنتی کرے گا ، پھر صرف وہی ریکارڈ دکھائے گا جس میں COUNT 2 سے زیادہ چڑھتے ہوئے ترتیب میں ہوں گے۔

>> منتخب کریں صارف۔ ،عمر۔، شمار (*) سے ڈیٹا .سماجی گروپ بائی عمر۔ ہو رہا ہے شمار (*) > آرڈر بائی۔ شمار (*) اے ایس سی ؛

نتیجہ

ہم مختلف دیگر شقوں کے ساتھ COUNT () طریقہ استعمال کرتے ہوئے مماثل یا ڈپلیکیٹ ریکارڈ گننے کے تمام ممکنہ طریقوں سے گزر چکے ہیں۔