مائی ایس کیو ایل کی شق کا استعمال کیسے کریں جہاں رقم حد سے زیادہ ہے۔

Mayy Ays Kyw Ayl Ky Shq Ka Ast Mal Kys Kry J A Rqm Hd S Zyad



MySQL ڈیٹا بیس کے ساتھ کام کرتے وقت، آپ کے پاس اکثر ایسے واقعات ہوں گے جہاں آپ اقدار کو فلٹر کرنا چاہتے ہیں۔ اگرچہ آپ WHERE شق استعمال کر سکتے ہیں، لیکن یہ ہمیشہ تمام مثالوں کے لیے کام نہیں کرتا۔ HAVING شق اس وقت استعمال ہوتی ہے جب آپ مجموعی فنکشن کا استعمال کرتے ہوئے فلٹر استفسار پر عمل کرنا چاہتے ہیں اور گروپ بندیوں کو لاگو کرنا چاہتے ہیں۔

HAVING شق اپنے فلٹر میں GROUP BY شق پر انحصار کرتی ہے اور فراہم کردہ شرط کی بنیاد پر استفسار پر عمل کرتی ہے۔ یہ شرط کی بنیاد پر فلٹر کو محدود کرتا ہے اور صرف منتخب گروپوں کو واپس کرتا ہے اگر وہ شرط پر پورا اترتے ہیں۔ ہمارے پاس MySQL HAVING شق استعمال کرنے کی مثالیں ہیں جہاں رقم حد سے زیادہ ہے۔ اس طرح، آپ آج کی پوسٹ کے آخر میں اسے استعمال کرنے کا طریقہ سیکھ لیں گے۔







مائی ایس کیو ایل رکھنے والی شق کا استعمال کیسے کریں جہاں رقم حد سے زیادہ ہے۔

آپ MySQL HAVING شق کو GROUP BY شق کے ساتھ لاگو کرتے ہیں۔ اس کی ترکیب کچھ یوں ہے:



ایکسپریشن 1 کو منتخب کریں، .. expression_n، aggregate_func (اظہار) ٹیبل_نام سے گروپ اظہار کے لحاظ سے ؛

آپ مختلف مجموعی افعال استعمال کر سکتے ہیں بشمول SUM(), COUNT(), MIN(), MAX(), اور AVG()۔ نوٹ کریں کہ کوئی بھی اظہار جو مجموعی فنکشن کے ساتھ استعمال نہیں ہوتا ہے اس کا ذکر GROUP BY شق کے ساتھ ہونا چاہیے۔



جہاں تک شرط کا تعلق ہے، اس کا اطلاق مجموعی نتائج پر ہوتا ہے جہاں آپ اس حد کی وضاحت کرتے ہیں جسے آپ شرط کے ساتھ چیک کرنا چاہتے ہیں۔ مثال کے طور پر، آپ SUM() فنکشن کا اطلاق کر سکتے ہیں اور تصدیق کر سکتے ہیں کہ آیا اظہار 10 کی حد کو پورا کرتا ہے۔ ہم فراہم کردہ مثالوں میں اس کے بارے میں مزید سمجھیں گے۔





یہ سمجھنے کے لیے کہ HAVING شق کیسے کام کرتی ہے، آئیے ایک نمونہ ڈیٹا بیس بنائیں جس کے ساتھ ہم کام کریں گے۔ ہم اپنے ڈیٹا بیس کا نام 'رجسٹر' رکھتے ہیں۔



آئیے اپنے مختلف کالموں اور ڈیٹا کی اقسام پر مشتمل ایک ٹیبل بھی بنائیں جس کا نام 'کارکن' ہے۔ یہاں، ہم کارکنوں کے ڈیٹا جیسے نام، گھنٹے، کام کی تاریخ وغیرہ کے ساتھ کام کرتے ہیں۔

ہمارے ٹیبل کی تفصیل چیک کرکے، ہم تصدیق کر سکتے ہیں کہ تمام کالم کامیابی کے ساتھ بنائے گئے ہیں۔

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

ہماری پہلی مثال کے لیے، آئیے ایک کیس پر غور کریں جہاں ہم ان کارکنوں کو تلاش کرنا چاہتے ہیں جنہوں نے سب سے زیادہ گھنٹے کام کیا۔ HAVING شق کے لیے، گھنٹوں کے لیے مجموعی فنکشن شامل کریں۔ GROUP BY شق میں، ہم نام کی قطار کا استعمال کرتے ہوئے قطاروں کو گروپ کرتے ہیں تاکہ کارکنوں کی درجہ بندی کرنے میں مدد کی جا سکے جو کہ حد سے زیادہ ہیں۔

اگر ہمارے پاس کل گھنٹے کی حد 7 ہے، تو ہم اپنی کمانڈ کو مندرجہ ذیل طور پر چلاتے ہیں:

نام منتخب کریں، SUM(گھنٹے) بطور کل_hours_per_person کارکنان کے نام سے گروپ بنائیں رقم (گھنٹے) > 7؛

کمانڈ پر عمل کرنے سے، ہمیں ایک آؤٹ پٹ ملتا ہے جس میں دو قطاریں ہوتی ہیں کیونکہ صرف دو کارکنوں نے HAVING شق میں بیان کردہ حد سے تجاوز کیا۔

فرض کریں کہ ہم محکموں کی درجہ بندی کرنا چاہتے ہیں تاکہ ان کارکنوں کے ساتھ دیکھیں جو 7 گھنٹے کی حد سے زیادہ گھنٹوں میں کام کرتے ہیں۔ ہم ڈیپارٹمنٹ کو منتخب کرتے ہیں، پھر گھنٹوں کے ساتھ SUM مجموعی فنکشن کا استعمال کرتے ہیں اور ڈیپارٹمنٹ ایکسپریشن کا استعمال کرتے ہوئے قطاروں کو گروپ کرتے ہیں۔

ہمارا حکم درج ذیل ہے:

محکمہ منتخب کریں، SUM(گھنٹے) بطور کل_hours_per_department ملازمین سے محکمہ کے لحاظ سے گروپ کی رقم (گھنٹے) > 7؛

نتائج سے، ہم تصدیق کر سکتے ہیں کہ ہم قطاروں کو فلٹر کرنے میں کامیاب ہو گئے ہیں تاکہ صرف ان لوگوں کو چھوڑ دیا جا سکے جن کے اوقات کا مجموعہ ہماری حد سے زیادہ ہے۔

اسی طرح، اگر ہم 10 گھنٹے کی حد سے زیادہ کام کرنے والے کارکنوں کی سب سے زیادہ تعداد کے ساتھ کام کی تاریخ کو فلٹر کرنا چاہتے ہیں، تو ہم کام کی تاریخ کا اظہار منتخب کرتے ہیں۔ پھر، ہم SUM فنکشن کو گھنٹوں کے ساتھ استعمال کرتے ہیں اور ورک ڈیٹ کا استعمال کرتے ہوئے قطاروں کو گروپ کرتے ہیں۔

حکم درج ذیل ہے:

کام کی تاریخ کا انتخاب کریں، SUM(گھنٹے) جیسا کہ کارکنوں سے سب سے زیادہ_hours_worked کام کی تاریخ کے حساب سے گروپ کی رقم (گھنٹے) > 10؛

کمانڈ پر عمل کرنے کے بعد، نتائج سے پتہ چلتا ہے کہ صرف ایک کام کی تاریخ میں اس کے کل گھنٹوں کا مجموعہ ہے جو حد سے زیادہ ہے:

نتیجہ

MySQL HAVING شق اس وقت استعمال ہوتی ہے جب آپ ایک مجموعی فنکشن کا استعمال کرتے ہوئے فلٹر استفسار پر عمل کرنا چاہتے ہیں۔ مزید مخصوص استفسار کو انجام دینے کے لیے اسے GROUP BY شق کے ساتھ ملایا جاتا ہے۔ اس پوسٹ میں MySQL HAVING شق کے بارے میں ہر چیز کی تفصیل دی گئی ہے جہاں رقم حد سے زیادہ ہے۔ فراہم کردہ مثالوں کے ساتھ، آپ اب سمجھ گئے ہیں کہ MySQL HAVING شق کے ساتھ کیسے کام کیا جائے۔