এসকিউএল ক্রমবর্ধমান সমষ্টি

Esaki U Ela Kramabardhamana Samasti



এসকিউএল-এ, একটি ক্রমবর্ধমান সমষ্টি এমন একটি পদ্ধতিকে বোঝায় যা আমাদের একটি ডাটাবেস টেবিলের মধ্যে একটি সংখ্যাসূচক কলামের চলমান মোট হিসাব করতে দেয়। একটি ক্রমবর্ধমান সমষ্টি বিভিন্ন পরিস্থিতিতে কার্যকর হয় যেমন অগ্রগতি ট্র্যাক করা বা প্রদত্ত মানের রোলিং গড় গণনা করা।

এই টিউটোরিয়ালে, আমরা শিখব কিভাবে বিভিন্ন পদ্ধতি ও কৌশল ব্যবহার করে এসকিউএল-এ ক্রমবর্ধমান সমষ্টি বাস্তবায়ন ও ব্যবহার করা যায়।







নমুনা তথ্য

কিভাবে আমরা ক্রমবর্ধমান যোগফল বাস্তবায়ন এবং ব্যবহার করতে পারি তা আরও ভালভাবে বোঝার জন্য, আসুন একটি নমুনা ডেটা সহ একটি মৌলিক টেবিল সেট আপ করে শুরু করি। এটি আমাদের এই পোস্টে দ্রুত এবং দক্ষতার সাথে সমস্ত পদ্ধতির কাজগুলি প্রদর্শন করতে দেয়।



একটি মৌলিক টেবিল তৈরি করে শুরু করুন যা পণ্যের তথ্য সংরক্ষণ করে।



টেবিল পণ্য তৈরি করুন (
পণ্য_আইডি প্রাথমিক কী,
পণ্য_নাম VARCHAR ( 255 ) ,
মূল্য দশমিক ( 10 , 2 )
) ;





এটি 'পণ্য' নামে একটি নতুন টেবিল তৈরি করবে যা পণ্যের আইডি, পণ্যের নাম এবং প্রতিটি পণ্যের মূল্য সংরক্ষণ করে।

তারপরে আমরা নিম্নলিখিত উদাহরণ সন্নিবেশ বিবৃতিতে দেখানো হিসাবে একটি নমুনা ডেটা যোগ করতে এগিয়ে যেতে পারি:



পণ্য ঢোকান ( পণ্য_আইডি, পণ্যের_নাম, মূল্য )
মূল্য
( 1 , 'ভিজ্যুয়াল স্টুডিও কোড' , 10.00 ) ,
( 2 , 'সাবলাইম টেক্সট' , 80.00 ) ,
( 3 , 'পাইচর্ম প্রফেশনাল' , 199.00 ) ,
( 4 , 'Eclipse IDE' , 30.00 ) ,
( 5 , 'IntelliJ IDEA আলটিমেট' , 699.00 ) ,
( 6 , 'GitHub ডেস্কটপ' , 20.00 ) ,
( 7 , 'অপেক্ষা সফ্টওয়্যার' , 10.00 ) ,
( 8 , 'এক্সকোড' , 660.00 ) ,
( 9 , 'নেটবিন্স' , 0.00 ) ,
( 10 , 'পরমাণু' , 60.00 ) ;

দ্রষ্টব্য: প্রদত্ত তথ্য সম্পূর্ণ কাল্পনিক। এটি তালিকাভুক্ত কোনো আইটেমের প্রকৃত মূল্যের প্রতিনিধিত্ব করে না।

ফলস্বরূপ টেবিলটি নিম্নরূপ:

এসকিউএল ক্রমবর্ধমান সমষ্টি (স্বয়ং যোগদান)

একটি প্রদত্ত কলামে ক্রমবর্ধমান সমষ্টি সম্পাদন করতে আমরা যে কৌশলগুলি ব্যবহার করতে পারি তার মধ্যে একটি হল স্ব-যোগদান পদ্ধতি ব্যবহার করা। এই পদ্ধতির একটি সুবিধা হল যে এটি প্রায় সমস্ত SQL ডাটাবেসে কাজ করে এমনকি যেগুলি উইন্ডো ফাংশন সমর্থন করে না।

উদাহরণস্বরূপ পূর্ববর্তী 'পণ্য' টেবিল নিন। আমরা নিম্নলিখিত ক্যোয়ারীতে প্রদর্শিত মূল্য কলামের ক্রমবর্ধমান যোগফল তৈরি করতে পারি:

নির্বাচন করুন
p1.product_id,
p1.product_name,
p1.মূল্য,
SUM ( p2.মূল্য ) AS cumulative_sum
থেকে
পণ্য p1
যোগ দিন
পণ্য p2
চালু
p1.product_id > = p2.product_id
দ্বারা গ্রুপ
p1.product_id,
p1.product_name,
p1.দাম
অর্ডার করুন
p1.product_id;

আপনি প্রশ্নের কাজ লক্ষ্য করেছেন? যদি না হয়, আমরা ধাপে ধাপে ব্যাখ্যা করে আমাদের সাথে থাকুন।

প্রদত্ত উদাহরণের ক্যোয়ারীতে, আমরা দুটি উপনাম তৈরি করে শুরু করি - 'p1' এবং 'p2' - 'পণ্য' টেবিলের জন্য যা আমাদের একটি স্ব-যোগদান করতে সক্ষম করে।

তারপরে আমরা 'p1' এবং 'p2'-এ যোগ দিতে এগিয়ে যাই এই শর্তে যে 'p1' এর 'product_id' 'p2' এর 'product_id' এর থেকে বড় বা সমান।

পরবর্তী ধাপে, আমরা sum() ফাংশনকে কল করি যা মূলত প্রতিটি সারির জন্য মূল্যের ক্রমবর্ধমান সমষ্টি গণনা করে।

সবশেষে, আমরা “product_id”, “product_name”, এবং “price” ব্যবহার করে ফলাফলগুলিকে গোষ্ঠীবদ্ধ করি এবং ফলাফলগুলি অর্ডার করি।

এই ক্রিয়াকলাপের পরে, আমাদের প্রতিটি রেকর্ডের জন্য একটি ক্রমবর্ধমান সমষ্টি থাকা উচিত যা নিম্নলিখিত সারণীতে দেখানো হয়েছে:

আপনি দেখতে পাচ্ছেন, আমরা আগের সমস্ত সারিগুলির মোট যোগফল পেয়েছি। শেষ সারিতে আগের সমস্ত সারির মোট যোগফল থাকতে হবে।

এসকিউএল ক্রমবর্ধমান সমষ্টি (উইন্ডো ফাংশন)

এসকিউএল-এ ক্রমবর্ধমান সমষ্টি গণনা করার একটি আরও কার্যকর এবং ব্যবহারিক উপায় হল উইন্ডো ফাংশনগুলির সুবিধা নেওয়া যখনই এটি সমর্থিত হয়।

যদি আপনার কাছে SQL সার্ভার, PostgreSQL, বা MySQL সংস্করণ 8.0 এবং তার উপরে একটি ডাটাবেস থাকে, তাহলে একটি প্রদত্ত কলামের ক্রমবর্ধমান সমষ্টি নির্ধারণের জন্য এটি সবচেয়ে কার্যকর এবং প্রস্তাবিত পদ্ধতি।

নিম্নলিখিত হিসাবে প্রদর্শিত উদাহরণটি দেখুন:

নির্বাচন করুন
পণ্য আইডি,
পণ্যের নাম,
মূল্য,
SUM ( মূল্য ) ওভার ( পণ্য_আইডি দ্বারা অর্ডার করুন ) AS cumulative_sum
থেকে
পণ্য;

এই ক্ষেত্রে, আমরা 'পণ্য' টেবিল থেকে 'product_id', 'product_name', এবং 'price' কলাম নির্বাচন করে শুরু করি।

আমরা তারপর SUM() ফাংশনটিকে ওভার ক্লজ ব্যবহার করে উইন্ডো ফাংশন হিসাবে ব্যবহার করি।

ওভার ক্লজে, আমরা ORDER BY ক্লজটি নির্দিষ্ট করি যা ক্রম সংজ্ঞায়িত করে যেখানে ক্রমবর্ধমান সমষ্টি গণনা করা হয়।

নিম্নলিখিত হিসাবে দেখানো হিসাবে এটি একটি অনুরূপ আউটপুট ফেরত দেওয়া উচিত:

আপনি লক্ষ্য করবেন যে স্ব-যোগদান ব্যবহারের তুলনায় উইন্ডো ফাংশন ব্যবহার করা আরও সুসঙ্গত, দক্ষ এবং পাঠযোগ্য।

উপসংহার

এই টিউটোরিয়ালে, আমরা এসকিউএল-এ ক্রমবর্ধমান সমষ্টি সম্পর্কে সমস্ত কিছু শিখেছি। এসকিউএল-এ ক্রমবর্ধমান সমষ্টি সম্পাদন করার জন্য কীভাবে স্ব-যোগদান এবং উইন্ডো ফাংশনগুলি ব্যবহার করতে হয় তাও আমরা কভার করেছি।