একাধিক কলামে গ্রুপ ব্যবহার করে Using


1035

আমি বুঝতে পারি GROUP BY x

কিন্তু কীভাবে GROUP BY x, yকাজ করে এবং এর অর্থ কী?


2
এই প্রশ্নটি যেমন উত্থাপন করেছে আপনি এটি বর্ণিত পাবেন না। গ্রুপ দ্বারা গ্রুপ এক বা একাধিক ক্ষেত্র নিতে পারে। গ্রাহক দ্বারা গ্রুপ; গোপনীয় নাম, প্রথম নাম; বছরের মধ্যে গ্রুপ, স্টোর, স্কু ইত্যাদি
বিল

উত্তর:


2025

Group By Xএর অর্থ হ'ল সকলকে একই গ্রুপে এক্সের জন্য একই মানযুক্ত করা

Group By X, Yমানে এক্স এবং ওয়াই উভয়ের জন্য একই গ্রুপে থাকা সমস্তকে এক গ্রুপে রাখুন

একটি উদাহরণ ব্যবহার করে উদাহরণস্বরূপ, আসুন আমরা আমাদের নীচের টেবিলটি বলতে পারি যে কোন বিশ্ববিদ্যালয়ে কোন বিষয়ে পড়ছে তা নিয়ে:

Table: Subject_Selection

Subject   Semester   Attendee
---------------------------------
ITB001    1          John
ITB001    1          Bob
ITB001    1          Mickey
ITB001    2          Jenny
ITB001    2          James
MKB114    1          John
MKB114    1          Erica

যখন আপনি group byকেবল বিষয় কলামে একটি ব্যবহার করেন ; বলে,

select Subject, Count(*)
from Subject_Selection
group by Subject

আপনি কিছু পাবেন:

Subject    Count
------------------------------
ITB001     5
MKB114     2

... কারণ ITB001 এর জন্য 5 টি এবং এমকেবি 114 এর জন্য 2 টি প্রবেশিকা রয়েছে

আমরা যদি group byদুটি কলামে থাকি :

select Subject, Semester, Count(*)
from Subject_Selection
group by Subject, Semester

আমরা এটি পেতে হবে:

Subject    Semester   Count
------------------------------
ITB001     1          3
ITB001     2          2
MKB114     1          2

এটি কারণ, যখন আমরা দুটি কলাম দ্বারা গোষ্ঠী করি, তখন এটি বলছে "তাদের গ্রুপ করুন যাতে একই সাবজেক্ট এবং সেমিস্টারের সাথে সমস্তগুলি একই গ্রুপে থাকে এবং তারপরে সমস্ত সমষ্টিগত ফাংশন (গণনা, যোগফল, গড় ইত্যাদি) গণনা করে them ) এই গ্রুপগুলির প্রত্যেকের জন্য " । এই উদাহরণে এটি প্রমাণিত হয় যে, যখন আমরা তাদের গণনা করি, সেখানে তিন জন সেমিস্টার 1 এ ITB001 করছেন, এবং দু'জন সেমিস্টারে করছেন M এমকেবি 114 করছে এমন লোক দু'জনই সেমিস্টার 1-এ রয়েছে, সুতরাং সেখানে কোনও নেই সেমিস্টার 2 এর সারি ("এমকেবি 114, সেমিস্টার 2" গোষ্ঠীতে কোনও ডেটা ফিট করে না)

আশা করি তা বোধগম্য হয়।


11
@ স্ম্যারি: সুতরাং এর অর্থও GROUP BY A,Bকি একইরকম GROUP BY B,A?
তোমাকাদিত্য

23
হ্যাঁ এটা করে. তারা একে অপরের মতো দক্ষ কিনা তা আমি নিশ্চিতভাবে বলতে পারি না তবে তারা একই ফল দেবে, হ্যাঁ।
স্মিশেরি

2
এখানে যোগ করা উচিত যে এর মধ্যে একটি পার্থক্য রয়েছে GROUP BY a, bএবং GROUP BY a AND bদ্বিতীয়টি কেবল একই বিষয়বস্তুযুক্ত এবং কোনও "আন্ডারগ্রুপ" নয় এমন গ্রুপযুক্ত আইটেমগুলিকে তালিকাবদ্ধ করে। এই ক্ষেত্রে আউটপুট প্রথমটির মতো হবে same
দ্বিজা

5
আমি যুক্ত করতে চাই যে কলামগুলি অনুসারে আপনি যে ক্রমটি ভাগ করেছেন তাতে কিছু আসে যায় না। সেমিস্টারের উপরোক্ত উদাহরণ গ্রুপে সাবজেক্ট একই ফল
দিত

2
ভাল, একটি ক, বি দ্বারা গ্রুপ এবং বি দ্বারা গ্রুপ, একটি একই ফলাফল ফিরে না - সারি একটি অন্য ক্রমে প্রদর্শিত হয়
fanny

33

GROUP BYএক বা একাধিক কলাম দ্বারা ফলাফল-সেটকে গোষ্ঠী করাতে এই ধারাটি সামগ্রিক ফাংশনের সাথে একত্রে ব্যবহৃত হয়। উদাহরণ:

SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;

এই আদেশ মনে রাখবেন:

1) নির্বাচন (একটি ডাটাবেস থেকে ডেটা নির্বাচন করতে ব্যবহৃত হয়)

2) FROM (টেবিলগুলি তালিকাতে ক্লজ ব্যবহৃত হয়)

3) যেখানে (ধারা রেকর্ড ফিল্টার করতে ব্যবহৃত হয়)

৪) গ্রুপ দ্বারা (একাধিক রেকর্ড জুড়ে ডেটা সংগ্রহ করতে এবং এক বা একাধিক কলাম দ্বারা ফলাফলকে গোষ্ঠীভুক্ত করার জন্য একটি বিভাগ নির্বাচনী বিবৃতিতে ব্যবহার করা যেতে পারে)

5) হ্যাভিং (ক্লজটি গ্রুপের গ্রুপের সাথে মিশ্রিতভাবে ফিরে আসা সারিগুলির গ্রুপগুলিকে কেবল তাদের মধ্যে সীমাবদ্ধ করতে ব্যবহৃত হয়েছে যাদের অবস্থা সত্য)

)) অর্ডার দিয়ে (ফলাফলটি সাজানোর জন্য কীওয়ার্ড ব্যবহার করা হয়)

আপনি যদি সামগ্রিক ফাংশন ব্যবহার করে থাকেন তবে আপনি এগুলি ব্যবহার করতে পারেন এবং এগুলি অবশ্যই সেট করা উচিত, অন্যথায় আপনি ত্রুটি পেতে পারেন।

সমষ্টিগত কার্যাদি হ'ল:

MIN প্রদত্ত কলামে ক্ষুদ্রতম মান প্রদান করে

SUM প্রদত্ত কলামে সংখ্যার মানগুলির যোগফল প্রদান করে

এভিজি প্রদত্ত কলামের গড় মান প্রদান করে

COUNT প্রদত্ত কলামে মানগুলির মোট সংখ্যা প্রদান করে

COUNT (*) একটি সারণীতে সারিগুলির সংখ্যা প্রদান করে


1
তবে আমরা কোথায় 2 টি কলাম রাখি, কীভাবে 2 / আরও কলামের উপর ভিত্তি করে সমষ্টি করা যায় তা হল প্রশ্ন
চৈতন্য বাপত

হাই চৈতন্য, আপনি যা জিজ্ঞাসা করছেন এটি এটি কিনা আমি জানি না তবে আপনাকে কেবল কয়েকটি উদাহরণ দেই। আপনার যদি কোনও পণ্যের টেবিল থাকে আপনি এইভাবে মোট ফাংশন ব্যবহার করেন, নীচে দুটি দৃশ্যপট রয়েছে: অ্যাডিজি (ইনস্টক) থেকে পণ্যগুলি নির্বাচন করুন; এটি পণ্যের সারণির স্টকের গড় একক গণনা করবে। এখন আপনি পণ্য বিভাগের মাধ্যমে স্টকে ইউনিটগুলি গণনা করতে চান, আপনাকে এই জাতীয় গ্রুপের মাধ্যমে গ্রুপের সাথে এভিজি ফাংশনটি ব্যবহার করতে হবে: বিভাগ নির্বাচন করুন বিভাগ থেকে অ্যাডিজি (ইনস্টক) বিভাগ থেকে;
এস। মায়ল

এটি এমনকি প্রত্যক্ষভাবে প্রশ্নের উত্তর দেয় না ... এখানে দেওয়া প্রশ্নটি কীভাবে "সাবজেক্ট" এর "শৃঙ্খলাবদ্ধ গ্রুপিং" এবং একই সাথে "সেমিস্টার" প্রদান করবেন, যেমন প্রদত্ত উদাহরণে ব্যাখ্যা করা হয়েছে ...
মাহনাস ৯২
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.