دسته بندي داده ها با GROUP BY

Group By در اس كيو ال

زماني كه نياز باشد داده ها را بر اساس يك فيلد گروه بندي كنيم بايد از دستور GROUP BY استفاده كنيم

 

Table1

 

idPerson

Date SumHours
1 101 1394/02/16 8
2 102 1394/02/16 8
3 101 1394/02/17 8
4 101 1394/03/05 7
5 102 1394/03/05

4

فرض كنيد در جدول Table1 مي خواهيم مجموع ساعت هاي كاركرد(WorkHour) را براي هر نفر(idPerson) نمايش دهيم در اين صورت از دستور زير استفاده مي كنيم:

SELECT idPerson , SUM(WorkHour) AS SumHours FROM Table1

GROUP BY idPerson
Resault:

  idPerson SumHours
1 101 23
2 102 12

همچنين مي توان دسته بندي را بر اساس دو فيلد انجام داد مثلا مي خواهيم از جدول Table1 مجموع ساعت هاي كاركرد(WorkHour) را براي هر نفر(idPerson) در هر روز(Date) را نمايش دهيم به شكل زير:

SELECT idPerson , [Date] , SUM(WorkHour) AS SumHours FROM Table1 GROUP BY idPerson , [Date]

Resault:

  idPerson Date SumHours
1 101 1394/02/16 8
2 102 1394/02/16 8
3 101 1394/02/17 8
4 101 1394/03/05 7
5 102 1394/03/05 4

دیدگاه ها بسته شده است