SQL HAVING | এসকিউএল HAVING |সোর্স W3schools

SQL এ Aggregate ফাংশন এর সাথে WHERE কিওয়ার্ড ব্যবহার করা যেত না বলে  HAVING clauseযোগ করা হয়েছিল।

SQL HAVING Clause সিনট্যাক্স :

SELECT ColumnName, aggregate_function(ColumnName)
FROM TableName
WHERE ColumnName operator value
GROUP BY ColumnName
HAVING aggregate_function(ColumnName) operator value;

উদাহরণ ১ :

নমুনা ডেটাবেজে – “Student”(সবার শেষে দেয়া আছে) HAVING এর নিম্নোক্ত কুয়েরি চালালে কোন শহর থেকে কতজন এসেছে তার তালিকা পাওয়া যাবে এবং সেই শহরগুলোই অন্তর্ভুক্ত হবে যে শহরগুলো থেকে ১ জনের বেশি এসেছে :

SELECT COUNT(id) as Count, HomeTown
FROM CSE
GROUP BY HomeTown
HAVING COUNT(id) > 1;

আউটপুট :

CountHomeTown
2Jashore
2Khulna

উদাহরণ ২ :

নমুনা ডেটাবেজে – “Student”(সবার শেষে দেয়া আছে) HAVING এর নিম্নোক্ত কুয়েরি চালালে কোন শহর থেকে কতজন এসেছে তার তালিকা পাওয়া যাবে এবং তা সর্টেড হবে ASC/DESC (সেই শহরগুলোই অন্তর্ভুক্ত হবে যে শহরগুলো থেকে ১ জনের বেশি এসেছে ):

SELECT COUNT(id) as Count, HomeTown
FROM IPE
GROUP BY HomeTown
HAVING COUNT(id) > 1
ORDER BY COUNT(id) DESC;

আউটপুট :

CountHomeTown
3Khulna
3Bagura
2Noakhali

উদাহরণ ৩ :

নমুনা ডেটাবেজ : Student2

নিচের অংশটি “StudentsInfo” টেবিল থেকে নেওয়া হয়েছেঃ

idRollNameHomeTown
1 101 AbulJamalpur
2 102Babul Jamalpur
3 103Kabul Jamalpur
4 104Habul Jamalpur
5 105 Makbul Jamalpur
6106RabiulJamalpur

নিচের অংশটি “StudentMarks” টেবিল থেকে নেওয়াঃ

idRollMarks
1 101 82
2 102 95
3 103 92
4 104 76
5 105 81
610682

SQL HAVING Clause এর উদাহরণ

নিচের SQL স্টেটমেন্টটি যে সকল শিক্ষার্থীর মার্ক একই রকম তাদেরকে সিলেক্ট করবে।

SELECT StudentsInfo.Name , COUNT( StudentMarks.Marks ) AS Count
FROM ( StudentMarks INNER JOIN StudentsInfo ON StudentMarks.Roll=StudentsInfo.Roll)
GROUP BY Name
HAVING COUNT(StudentMarks.Marks) > 1;

আউটপুট :

NameCount
Abul2
Rabiul2

Student Database :

Table – CSE

IdName       HomeTown
101HafizJashore
102RaselKhulna
103FahimKushtia
104RajjakRajshahi
105MishkatCumilla
106MituKhulna
107HumayraJashore

Table : IPE

IdName       HomeTown
301SouravNoakhali
302SimantaKhulna
303SumaiyaKhulna
304RakibBagura
305PolashRongpur
306RonyKhulna
307RajBagura
308FaysalBagura
309SakibNoakhali

Leave a Reply

Your email address will not be published. Required fields are marked *