📘 SQL GROUP BY & HAVING Tutorial

📘 SQL Tutorial: GROUP BY and HAVING with Examples (Bangla Style)

GROUP BY and HAVING clauses are very useful in SQL for grouping and filtering data based on aggregation. Below is a practical tutorial using Bangladeshi names.

📋 Sample employees Table:

employee_id name department_id job_id salary
201Arif10HR50000
202Nasrin20ENG60000
203Faruk10HR55000
204Ritu30MKT45000
205Imran20ENG62000

🔹 1. Count Employees per Department

SELECT department_id, COUNT(*) AS employee_count
FROM employees
GROUP BY department_id;

Output:

department_id employee_count
102
202
301

🔹 2. Departments with More Than 1 Employee

SELECT department_id, COUNT(*) AS employee_count
FROM employees
GROUP BY department_id
HAVING COUNT(*) > 1;

Output:

department_id employee_count
102
202

🔹 3. Total Salary by Department

SELECT department_id, SUM(salary) AS total_salary
FROM employees
GROUP BY department_id;

Output:

department_id total_salary
10105000
20122000
3045000

🔹 4. Departments Where Total Salary > 100000

SELECT department_id, SUM(salary) AS total_salary
FROM employees
GROUP BY department_id
HAVING SUM(salary) > 100000;

Output:

department_id total_salary
10105000
20122000

🔹 5. Average Salary per Job Title

SELECT job_id, AVG(salary) AS avg_salary
FROM employees
GROUP BY job_id;

Output:

job_id avg_salary
HR52500
ENG61000
MKT45000

🔹 6. Job Titles with More Than 1 Employee

SELECT job_id, COUNT(*) AS emp_count
FROM employees
GROUP BY job_id
HAVING COUNT(*) > 1;

Output:

job_id emp_count
HR2
ENG2
SQL GROUP BY, HAVING, Bangla SQL tutorial, SQL with Bangladeshi names, SQL GROUP BY explained, SQL blog, MySQL examples, Oracle GROUP BY HAVING, SQL beginner queries, GROUP BY Bangla style

āĻ•োāύ āĻŽāύ্āϤāĻŦ্āϝ āύেāχ:

āĻāĻ•āϟি āĻŽāύ্āϤāĻŦ্āϝ āĻĒোāϏ্āϟ āĻ•āϰুāύ