SQL میں تاریخ کے لحاظ سے تازہ ترین ریکارڈ کو منتخب کریں۔

Sql My Tarykh K Lhaz S Taz Tryn Rykar Kw Mntkhb Kry



ایس کیو ایل ڈیٹا بیس میں کام کرتے وقت، آپ کو ایک ایسی مثال مل سکتی ہے جہاں آپ کو تاریخ کی بنیاد پر دی گئی جدول کے تازہ ترین ریکارڈ کو بازیافت کرنے کی ضرورت ہو۔ یہ صفحہ بندی، انوینٹری مینجمنٹ، نگرانی کے مقاصد وغیرہ کے لیے ہو سکتا ہے۔

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

نمونہ ڈیٹا

مظاہرے کے مقاصد کے لیے، ہم Sakila سیمپل ڈیٹا بیس کا استعمال کرتے ہیں جو MySQL اور PostgreSQL ذائقوں کے لیے دستیاب ہے۔







اپنے سرور پر نمونہ ڈیٹا بیس کو بلا جھجھک ڈاؤن لوڈ اور درآمد کریں۔ آپ کسی دوسرے ڈیٹاسیٹ کو بھی مناسب طور پر استعمال کر سکتے ہیں۔



مثال 1: ORDER BY

سب سے بنیادی اور آسان طریقہ جسے ہم تاریخ کے لحاظ سے تازہ ترین ریکارڈ کو بازیافت کرنے کے لیے استعمال کر سکتے ہیں وہ ہے SQL ORDER BY شق کا استعمال کرنا۔



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





مثال کے طور پر سکیلا سیمپل ڈیٹا بیس سے رینٹل ٹیبل لیں۔ اس میں 'رینٹل_ڈیٹ' کالم ہے جو اس تاریخ کی نشاندہی کرتا ہے جس پر فلم کرائے پر لی گئی تھی۔

ہم اس کا استعمال یہ ظاہر کرنے کے لیے کر سکتے ہیں کہ ٹیبل سے حالیہ ریکارڈ کو بازیافت کرنے کے لیے ORDER BY شق کو کیسے استعمال کیا جائے۔



منتخب کریں *

کرایہ سے

ترتیب رینٹل_تاریخ DESC کے مطابق

LIMIT 1 ;

اس صورت میں، ہم ORDER BY شق کا استعمال کرتے ہیں اور 'رینٹل_تاریخ' کو ہدف کے کالم کے طور پر پاس کرتے ہیں۔ ہم یہ بھی یقینی بناتے ہیں کہ ڈیٹا بیس کو ریکارڈ کو نزولی ترتیب میں ترتیب دینے کے لیے بتائیں۔

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

مثال 2: Max() فنکشن کا استعمال

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

مندرجہ ذیل مثال پر غور کریں:

منتخب کریں *

کرایہ سے

جہاں رینٹل_تاریخ = (کرائے سے زیادہ سے زیادہ (رینٹل_تاریخ) کا انتخاب کریں)؛

ذیلی استفسار کا استعمال ٹیبل سے زیادہ سے زیادہ کرایہ کی تاریخ تلاش کرتا ہے۔ بنیادی استفسار میں، ہمیں زیادہ سے زیادہ تاریخ کے برابر 'رینٹل_تاریخ' کے ساتھ ریکارڈز لانا چاہیے۔

مثال 3: ونڈو کے افعال

ونڈو فنکشنز کو سپورٹ کرنے والے ڈیٹا بیسز کے لیے، ہم ذیل میں ٹیبل سے تازہ ترین ریکارڈ کو بازیافت کرنے کے لیے ذیلی سوال اور row_number() فنکشن استعمال کر سکتے ہیں:

منتخب کریں *

سے (

منتخب کریں *،

ROW_NUMBER() اوور ( ترتیب BY rental_date DESC) AS rn

کرایہ سے

) AS subquery

جہاں rn = 1 ;

دی گئی مثال میں، ذیلی سوال ROW_NUMBER() ونڈو فنکشن کا استعمال کرتے ہوئے نزولی ترتیب میں 'rental_date' کالم کی بنیاد پر ہر قطار کو ایک قطار نمبر تفویض کرتا ہے۔

بیرونی استفسار پھر ذیلی استفسار سے تمام کالموں کو منتخب کرتا ہے جہاں قطار نمبر 1 ہے، مؤثر طریقے سے حالیہ رینٹل ریکارڈ (ریکارڈز) کو منتخب کرتا ہے۔

نتیجہ

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