এখন সবাই নিজের কম্পিউটারে MySQL Workbench (বা Colab-এ %%sql ম্যাজিক) খুলে আমার সাথে সাথে টাইপ করবে।
ধাপ ১Database তৈরি: CREATE DATABASE shopkori_db;
ধাপ ২Table তৈরি: CREATE TABLE Employees (...);
ধাপ ৩Record ইনসার্ট: INSERT INTO Employees VALUES (...);
ধাপ ৪GROUP BY দিয়ে দল বানানো
ধাপ ৫COUNT() দিয়ে সংখ্যা বের করা
ধাপ ৬SUM() দিয়ে যোগফল বের করা
ধাপ ৭AVG() দিয়ে গড় বের করা
ধাপ ৮MAX() ও MIN() প্রয়োগ
ধাপ ৯HAVING দিয়ে গ্রুপ ফিল্টার
ধাপ ১০WHERE + GROUP BY + HAVING একসাথে
ধাপ ১১সম্পূর্ণ বিজনেস রিপোর্ট বানানো
ধাপ ১২রেজাল্ট ORDER BY দিয়ে সাজানো
সম্পূর্ণ Setup কোড
-- ধাপ ১ ও ২: Database এবং Table তৈরি
CREATE DATABASE shopkori_db;
USE shopkori_db;
CREATE TABLE Employees (
EmpId INT PRIMARY KEY,
EmpName VARCHAR(100),
Department VARCHAR(50),
Salary DECIMAL(10,2)
);
-- ধাপ ৩: ডেটা ইনসার্ট
INSERT INTO Employees VALUES
(1, 'Karim', 'IT', 55000),
(2, 'Rahim', 'IT', 62000),
(3, 'Salma', 'Sales', 40000);
⚠️ সাধারণ বিগিনার ভুল: HAVING Salary > 50000 (ভুল — কারণ Salary এখানে aggregate করা হয়নি)
✅ সঠিক: HAVING AVG(Salary) > 50000
Best Practices
- যেটা row-level ফিল্টার করা যায়, সেটা WHERE-এ করো — HAVING-এ না।
- HAVING-এ সবসময় Aggregate Function ব্যবহার করো (Column সরাসরি না)।
- কলামের নামের বদলে alias (যেমন TotalSales) HAVING-এ কিছু ডেটাবেজে কাজ করে না — সেফ থাকতে পুরো function-ই লেখো।