دستور Group by در SQL

زبان SQL

توسط theknight در 3 سال پیش
0 1.5k 1 3 سال پیش
theknightdaniel
1

سلام دوستان دستور Group by تو SQL دقیقا چیکار میکنه؟ اگه میشه یه مثال هم بزنید

4

سلام داداش  :) خیلی ساده میگم: دستور Group by میاد رکوردهای شبیه به هم رو گروه میکنه تا بتونی روش یه تابع استفاده کنی. مثال رو از سایت tutorialspoint.com میزنم که مثال خیلی خوبیه: فکر کن جدول پرسنل داری و میخوای جمع حقوق ماهیانه هر کدوم روحساب کنی

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Ramesh   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | kaushik  |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

اینجا ما دو تا kaushik داریم که که میخوایم بدونیم کلا چقدر مگیره پس میایم جدول رو بر اساس ستون NAME گره بندی میکنیم تا داده های یکسان گروه بشن و در اخر هم یه SUM از SALARY میگیریم تا درامد کلش بدست بیاد.

اینم کوئریش میشه:

SELECT NAME, SUM(SALARY) 
FROM CUSTOMERS
GROUP BY NAME;
+---------+-------------+
| NAME    | SUM(SALARY) |
+---------+-------------+
| Hardik  |     8500.00 |
| kaushik |     8500.00 |
| Komal   |     4500.00 |
| Muffy   |    10000.00 |
| Ramesh  |     3500.00 |
+---------+-------------+

خوش آمدید

برای طرح سوال، ایجاد بحث و فعالیت در سایت نیاز است ابتدا وارد حساب کاربری خود شوید. در صورتی که هنوز عضو سایت نیستید میتوانید در عرض تنها چند ثانیه ثبت نام کنید.

لطفا ابتدا لاگین کنید