PostgreSQL

سرفصل دروس

GROUP BY

مقدمه ای بر GROUP BY در PostgreSQL 

دستور GROUP BY ردیف های برگردانده شده از دستور SELECT را به گروه هایی تقسیم می کند. برای هر گروه می توانید از تابع تجمیع مانند SUM استفاده نمایید تا مجموع آیتم ها و یا با  COUNT تعداد آیتم ها را بدست آورید. عبارت زیر دستور زبان GROUP BY را نمایش می دهد:

SELECT column_1, aggregate_function(column_2)
FROM tbl_name
GROUP BY column_1;

دستور GROUP BY باید بعد از دستور FROM یا WHERE استفاده شود. سپس بعد از GROUP BY یک یا چند ستون قرار می گیرد. همچنین می توانید یک عبارت را در GROUP BY قرار دهید. 

 

مثال GROUP BY در PostgreSQL 

به جدول payment توجه نمایید:

جدول payment

GROUP BY در PostgreSQL 

پرس و جوی زیر داده های جدول payment  را دریافت می کند و آنها را بر اساس مشتری دسته بندی می نماید:

SELECT
 customer_id
FROM
 payment
GROUP BY
 customer_id;

دستور Group By

 

در این مثال GROUP BY مانند DISTINCT عمل می کند که ردیف های تکراری را از نتیجه حذف می نماید. 

 

GROUP BY در PostgreSQL با تابع SUM

برای مثال برای بدست آوردن مجموع پرداختی های یک مشتری شما می توانید از GROUP BY برای دسته بندی اطلاعات جدول payments استفاده نمایید و برای هر گروه با تابع SUM مجموع پرداختی ها را محاسبه نمایید. به پرس و جوی زیر توجه نمایید: 

SELECT
 customer_id,
 SUM (amount)
FROM
 payment
GROUP BY
 customer_id;

GROUP BY بر اساس مشتری

 

شما می توانید از دستور ORDER BY برای مرتب کردن نتیجه استفاده نمایید:

SELECT
 customer_id,
 SUM (amount)
FROM
 payment
GROUP BY
 customer_id
ORDER BY
 SUM (amount) DESC;

دستور GROUP BY  به همراه ORDER BY

 

GROUP BY در PostgreSQL با تابع COUNT

برای بدست آوردن تعداد تراکنش هایی که یک کارمند انجام داده است می توانید بصورت زیر عمل نمایید:

SELECT
 staff_id,
 COUNT (payment_id)
FROM
 payment
GROUP BY
 staff_id;

GROUP BY کارمندان

 

نتیجه بر اساس id کارمندان مرتب می شود. 

اشتراک گذاری :