دستور group by در SQL
دستور GROUP BY در SQL سطر هایی را که دارای ارزشهای یکسان هستند در ردیف های خلاصه گروه بندی می کند ، مانند “پیدا کردن تعداد مشتریان در هر کشور”
دستور GROUP BY اغلب با توابع کلی ()COUNT
یا ()MAX
یا ()MIN
یا ()SUM
یا ()AVG
برای گروه بندی نتایج حاصل از یک یا چند ستون استفاده می شود.
نحوه استفاده از دستور GROUP BY در SQL
SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
ORDER BY column_name(s);
مثال برای GROUP BY در SQL
دستورات SQL زیر تعداد مشتریان هر کشور را لیست می کند:
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country;
توضیحات: با استفاده از دستور SELECT
ستون های CustomerID
و Country
را انتخاب کرده ایم ، همچنین با استفاده از تابع COUNT
مشخص کرده ایم که تعداد CustomerID
ها را می خواهیم و با عبارت FROM
جدول مورد نظر را مشخص کرده ایم که Customers
می باشد و در نهایت با دستور GROUP BY
ستون Country
را انتخاب کرده ایم که در نهایت خروجی تعداد مشتریان هر کشور را مشخص می کند و نمایش می هد.
برای درک بهتر حتماً کد را اجرا و تست کنید.
دستور SQL زیر با استفاده از عبارت DESC
تعداد مشتریان هر کشور را طبقه بندی می کند که از بالا به پایین به ترتیب بیشترین مشتری تا کمترین لیست می شوند:
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
ORDER BY COUNT(CustomerID) DESC;
مثال GROUP BY با JOIN
دستورات SQL زیر تعداد سفارشات ارسال شده توسط هر فرستنده را لیست می کند:
SELECT Shippers.ShipperName, COUNT(Orders.OrderID) AS NumberOfOrders FROM Orders
LEFT JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID
GROUP BY ShipperName;
آیا این مطلب برای شما مفید بود ؟