কম্পিউটার টিউটোরিয়াল

DB2-এ COUNT ফাংশন ও GROUP BY ব্যবহার করে ট্রানজ্যাকশন প্রতি অর্ডার সংখ্যা বের করা

সমস্যা: TRANSACTIONS DB2 টেবিলে প্রতিটি ট্রানজ্যাকশন আইডি (TRANSACTION_ID) এর জন্য কতগুলো অর্ডার আইডি (ORDER_ID) আছে তা লিস্ট করা।

সমাধান

GROUP BY এবং COUNT() ফাংশন ব্যবহার করে সমাধান করা যায়।

কোয়েরি

SELECT TRANSACTION_ID, COUNT(ORDER_ID) 
FROM TRANSACTIONS 
GROUP BY TRANSACTION_ID;

নমুনা ডেটা (ORDERS টেবিল)

TRANSACTION_ID ORDER_ID
IRN22345A23118
IRN22345A45901
IRN22345A67990
IRN56902A23119
IRN99781A67921
IRN56902A23167

ফলাফল

TRANSACTION_ID COUNT(ORDER_ID)
IRN223453
IRN569022
IRN997811

ব্যাখ্যা:

  • GROUP BY TRANSACTION_ID - একই TRANSACTION_ID 가진 রোগুলো গ্রুপ করে।
  • COUNT(ORDER_ID) - প্রতিটি গ্রুপে ORDER_ID কতবার আছে তা গণনা করে (NULL বাদ দিয়ে)।
  • IRN22345 - ৩টি অর্ডার, IRN56902 - ২টি, IRN99781 - ১টি।

এটি DB2-র স্ট্যান্ডার্ড এগгреগেশন কোয়েরি। MySQL-এও একই সিনট্যাক্স কাজ করে।

  1. PL/SQL-এ স্ট্রিংয়ের ক্যারেক্টার এবং ওয়ার্ড কাউন্ট করা

  2. SQL-এ GROUP BY এবং ORDER BY-এর পার্থক্য

  3. SQL Server-এ COUNT ফাংশন

  4. SQL Server-এ GROUP BY ক্লজ