সমস্যা: 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 |
|---|---|
| IRN22345 | A23118 |
| IRN22345 | A45901 |
| IRN22345 | A67990 |
| IRN56902 | A23119 |
| IRN99781 | A67921 |
| IRN56902 | A23167 |
ফলাফল
| TRANSACTION_ID | COUNT(ORDER_ID) |
|---|---|
| IRN22345 | 3 |
| IRN56902 | 2 |
| IRN99781 | 1 |
ব্যাখ্যা:
GROUP BY TRANSACTION_ID- একই TRANSACTION_ID 가진 রোগুলো গ্রুপ করে।COUNT(ORDER_ID)- প্রতিটি গ্রুপে ORDER_ID কতবার আছে তা গণনা করে (NULL বাদ দিয়ে)।- IRN22345 - ৩টি অর্ডার, IRN56902 - ২টি, IRN99781 - ১টি।
এটি DB2-র স্ট্যান্ডার্ড এগгреগেশন কোয়েরি। MySQL-এও একই সিনট্যাক্স কাজ করে।