SQL GROUP BY Statement
زبان SQL وقتی بخوایم دادهها رو براساس یک یا چند ستون گروهبندی کنیم و روی هر گروه عملیات تجمیعی (مثل COUNT, SUM, AVG, MAX, MIN) انجام بدیم، از GROUP BY استفاده میکنیم.
🔹 ساختار کلی
-
GROUP BYرکوردها رو براساس مقدار ستونها دستهبندی میکنه. -
باید همراه توابع تجمیعی (Aggregate Functions) مثل
COUNT(),SUM(),AVG(),MAX(),MIN()استفاده بشه.
🔹 مثال ساده
جدول: Orders
| order_id | customer_id | amount |
|---|---|---|
| 1 | 1 | 500 |
| 2 | 2 | 300 |
| 3 | 1 | 200 |
| 4 | 3 | 400 |
کوئری:
📌 خروجی:
| customer_id | total_amount |
|---|---|
| 1 | 700 |
| 2 | 300 |
| 3 | 400 |
توضیح: سفارشهای هر مشتری جمع زده شدن.
🔹 مثال با COUNT
📌 تعداد سفارشهای هر مشتری رو نشون میده.
🔹 مثال با چند ستون
📌 گروهبندی همزمان براساس customer_id و amount.
🔹 GROUP BY + HAVING
-
WHERE→ برای فیلتر کردن قبل از گروهبندی. -
HAVING→ برای فیلتر کردن بعد از گروهبندی.
📌 فقط مشتریهایی رو نشون میده که جمع سفارشهاشون بیشتر از 400 باشه.
✅ نکات مهم
-
ستونهایی که در
SELECTاستفاده میشن، یا باید داخلGROUP BYباشن یا داخل تابع تجمیعی. -
HAVINGمکملGROUP BYهست و شبیهWHEREعمل میکنه ولی روی نتایج گروهبندی. -
ترتیب اجرای کوئری:
WHERE→GROUP BY→HAVING→ORDER BY.
HTML
Tailwind Css
Bootstrap 5
Java script
++C
Python
Three.js
Gsap
Sass
SQL
React