توابع تجمعی در پایگاه داده SQL
توابع تجمعی در پایگاه داده SQL برای تحلیل دادهها با محاسبه مجموع،میانگین،تعداد،کمترین و بیشترین مقدار یک ستون بهکار میروند
مفهوم توابع تجمعی در پایگاه داده SQL
توابع تجمعی (Aggregate Functions) در SQL ابزارهایی هستند که برای انجام محاسبات ریاضی و آماری روی دادههای موجود در جداول پایگاه داده مورد استفاده قرار میگیرند.
این توابع با کاهش دادهها و خلاصهسازی آنها، مقادیر متعددی را به یک مقدار واحد تبدیل میکنند. از این توابع میتوان برای شمارش، محاسبه مجموع، یافتن حداقل یا حداکثر مقدار، و محاسبه میانگین استفاده کرد.
توابع تجمعی به شما این امکان را میدهند که دادههای یک ستون خاص یا رکوردهای یک جدول را تحلیل کرده و اطلاعات کلیدی مانند تعداد کل رکوردها، جمع مقادیر، میانگین، بیشترین و کمترین مقدار را استخراج کنید.
این توابع به ویژه در پایگاه دادههایی با حجم زیاد داده بسیار مفید هستند، زیرا به خلاصهسازی سریع اطلاعات کمک میکنند.
توابع تجمعی معمولاً همراه با دستوراتی مانند GROUP BY و HAVING استفاده میشوند تا تحلیل دادهها در سطح گروههای مشخصی انجام شود.
ویژگیهای اصلی توابع تجمعی
-
عملیات روی مجموعهای از دادهها انجام میشود.
-
معمولاً یک مقدار خروجی بازمیگردانند.
-
با عبارات SELECT و GROUP BY ترکیب میشوند.
-
توانایی کار با دادههای عددی، متنی یا ترکیبی دارند (بسته به نوع تابع).
توابع اصلی تجمعی و کاربردهای آنها
-
COUNT
تابع COUNT برای شمارش تعداد رکوردها یا تعداد مقادیر غیر تهی (NON-NULL) در یک ستون استفاده میشود.
این تابع کاربرد گستردهای در محاسبه تعداد کل آیتمها یا ارزیابی تعداد مقادیر موجود در یک ستون خاص دارد.
موارد استفاده:
شمارش تعداد رکوردها در یک جدول.
شمارش تعداد مقادیر غیر تهی در یک ستون خاص.
مثالها:
-- شمارش تعداد کل رکوردها
SELECT COUNT(*) AS TotalRecords
FROM Employees;
-- شمارش تعداد مقادیر غیر تهی در ستون Department
SELECT COUNT(Department) AS NonNullDepartments
FROM Employees;
در مثال اول، تعداد کل رکوردهای جدول Employees محاسبه میشود.
در مثال دوم، تنها مقادیر غیر تهی ستون Department شمارش میشوند.
-
COUNT_BIG
تابع COUNT_BIG مشابه تابع COUNT عمل میکند، اما خروجی آن از نوع BIGINT است.
این تابع برای شمارش مقادیر بسیار بزرگ (بیش از محدودیت نوع داده INT) استفاده میشود.
موارد استفاده:
شمارش رکوردهای جداول بسیار بزرگ.
تحلیل دادههای حجیم.
مثال:
SELECT COUNT_BIG(*) AS TotalBigRecords
FROM LargeTable;
در این مثال، تعداد کل رکوردهای موجود در جدول LargeTable محاسبه میشود.
🌟 آیا میخواهید به یک متخصص پایگاه داده تبدیل شوید و در دنیای فناوری اطلاعات بدرخشید؟
با دوره آموزشی SQL Server ما، شما میتوانید به راحتی و با روشی عملی، تمام مهارتهای لازم را یاد بگیرید!
این دوره به شما آموزش میدهد که چگونه دادهها را به بهترین شکل مدیریت کنید، گزارشهای قدرتمند بسازید و به تحلیلهای عمیق دست یابید.
با محتوای جذاب و پروژههای واقعی، شما نه تنها تئوری را یاد میگیرید، بلکه تواناییهای عملی خود را نیز تقویت میکنید.
پس فرصت را از دست ندهید! همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آینده شغلی روشنتر بردارید!
همین حالا شروع کنید و به دنیای دادهها بپیوندید!
-
SUM
تابع SUM مجموع مقادیر عددی یک ستون را محاسبه میکند. این تابع در تحلیل مالی، محاسبه درآمدها و هزینهها، و جمعبندی دادههای عددی بسیار پرکاربرد است.
موارد استفاده:
محاسبه مجموع درآمدها یا هزینهها.
تحلیل دادههای عددی مانند قیمت، وزن، یا تعداد کالاها.
مثالها:
-- مجموع حقوق تمام کارکنان
SELECT SUM(Salary) AS TotalSalary
FROM Employees;
-- مجموع فروش برای هر محصول
SELECT ProductID, SUM(SalesAmount) AS TotalSales
FROM Sales
GROUP BY ProductID;
در مثال اول، مجموع ستون Salary محاسبه میشود. در مثال دوم، مجموع فروش برای هر محصول به تفکیک ProductID محاسبه شده و دادهها گروهبندی میشوند.
-
MAX
تابع MAX بیشترین مقدار یک ستون را بازمیگرداند. این تابع برای یافتن حداکثر مقدار در دادههای عددی، متنی یا تاریخی استفاده میشود.
موارد استفاده:
-
- یافتن بیشترین مقدار حقوق.
- تحلیل بیشترین مقدار فروش یا تعداد.
مثالها:
-- بیشترین حقوق در جدول کارکنان
SELECT MAX(Salary) AS HighestSalary
FROM Employees;
-- بیشترین مبلغ فروش برای هر محصول
SELECT ProductID, MAX(SalesAmount) AS MaxSale
FROM Sales
GROUP BY ProductID;
در مثال اول، بیشترین مقدار ستون Salary محاسبه میشود. در مثال دوم، بیشترین فروش برای هر محصول محاسبه شده و نتایج بر اساس ProductID گروهبندی میشوند.
-
MIN
تابع MIN کمترین مقدار یک ستون را بازمیگرداند. این تابع در تحلیل دادههای عددی، متنی و تاریخی برای یافتن کوچکترین مقدار مفید است.
موارد استفاده:
-
- یافتن کمترین مقدار حقوق یا قیمت.
- تحلیل دادههای تاریخی برای پیدا کردن اولین تاریخ ثبتشده.
مثالها:
-- کمترین حقوق در جدول کارکنان
SELECT MIN(Salary) AS LowestSalary
FROM Employees;
-- کمترین مبلغ فروش برای هر محصول
SELECT ProductID, MIN(SalesAmount) AS MinSale
FROM Sales
GROUP BY ProductID;
در این مثالها، کمترین مقدار در ستونهای عددی محاسبه شده و نتایج به تفکیک گروهبندی ارائه میشوند.
-
AVG
تابع AVG میانگین مقادیر عددی یک ستون را محاسبه میکند. این تابع در تحلیل دادههای مالی و آماری برای استخراج میانگین دادهها بسیار کاربرد دارد.
موارد استفاده:
-
- محاسبه میانگین حقوق کارکنان.
- تحلیل میانگین فروش یا قیمت کالاها.
مثالها:
-- میانگین حقوق کارکنان
SELECT AVG(Salary) AS AverageSalary
FROM Employees;
-- میانگین فروش برای هر محصول
SELECT ProductID, AVG(SalesAmount) AS AverageSale
FROM Sales
GROUP BY ProductID;
در مثال اول، میانگین ستون Salary محاسبه میشود. در مثال دوم، میانگین فروش به تفکیک محصول محاسبه شده و دادهها گروهبندی میشوند.
ترکیب توابع تجمعی با GROUP BY و HAVING
توابع تجمعی اغلب همراه با دستور GROUP BY برای گروهبندی دادهها و دستور HAVING برای اعمال شرط روی نتایج گروهبندی استفاده میشوند.
مثال ترکیبی:
SELECT Department,
COUNT(EmployeeID) AS TotalEmployees,
SUM(Salary) AS TotalSalaries,
AVG(Salary) AS AverageSalary,
MAX(Salary) AS HighestSalary,
MIN(Salary) AS LowestSalary
FROM Employees
GROUP BY Department
HAVING SUM(Salary) > 100000;
در این مثال:
دادهها بر اساس ستون Department گروهبندی میشوند.
اطلاعاتی نظیر تعداد کارکنان، مجموع حقوق، میانگین حقوق، بیشترین و کمترین حقوق برای هر بخش محاسبه میشود.
تنها بخشهایی نمایش داده میشوند که مجموع حقوق کارکنان آنها بیشتر از 100,000 باشد.
استفاده از توابع در تحلیل دادههای واقعی
فرض کنید جدولی به نام Sales داریم که شامل اطلاعات زیر است:
ProductID: شناسه محصول.
Quantity: تعداد کالاهای فروختهشده.
Price: قیمت هر کالا.
تحلیل دادهها:
SELECT ProductID,
COUNT(*) AS SalesCount,
SUM(Quantity) AS TotalQuantity,
AVG(Price) AS AveragePrice,
MAX(Price) AS MaxPrice,
MIN(Price) AS MinPrice
FROM Sales
GROUP BY ProductID
HAVING SUM(Quantity) > 100;
در این کوئری:
تعداد فروشها، مجموع تعداد کالاهای فروختهشده، میانگین قیمت، بیشترین و کمترین قیمت برای هر محصول محاسبه میشود.
فقط محصولاتی نمایش داده میشوند که مجموع تعداد کالاهای فروختهشده آنها بیشتر از 100 باشد.
مثال پروژهمحور کوتاه از توابع تجمعی در پایگاه داده sql
تحلیل فروشگاه آنلاین
فرض کنید یک فروشگاه آنلاین داریم که دادههای فروش در جدول Orders ذخیره شدهاند. این جدول شامل ستونهای زیر است:
-
OrderID: شناسه سفارش
-
CustomerID: شناسه مشتری
-
OrderDate: تاریخ سفارش
-
TotalAmount: مجموع مبلغ سفارش
میخواهیم تحلیلی شامل موارد زیر انجام دهیم:
- تعداد کل سفارشها
- مجموع فروش کل
- میانگین مبلغ سفارشها
- بیشترین و کمترین مبلغ سفارش
- تعداد سفارشهای هر مشتری
کوئری تحلیل
-- تحلیل کلی فروشگاه
SELECT
COUNT(*) AS TotalOrders,
SUM(TotalAmount) AS TotalSales,
AVG(TotalAmount) AS AverageOrderAmount,
MAX(TotalAmount) AS HighestOrderAmount,
MIN(TotalAmount) AS LowestOrderAmount
FROM Orders;
-- تحلیل تعداد سفارشهای هر مشتری
SELECT
CustomerID,
COUNT(OrderID) AS TotalOrdersPerCustomer,
SUM(TotalAmount) AS TotalSpentByCustomer
FROM Orders
GROUP BY CustomerID
HAVING SUM(TotalAmount) > 1000; -- مشتریانی که بیش از 1000 واحد خرج کردهاند
شرح نتایج
کوئری اول اطلاعات کلی درباره سفارشها ارائه میدهد، مانند تعداد کل سفارشها، مجموع فروش، میانگین، بیشترین و کمترین مبلغ سفارش.
کوئری دوم سفارشها را بر اساس مشتری گروهبندی کرده و تعداد و مجموع هزینهها را برای هر مشتری محاسبه میکند. همچنین فقط مشتریانی را نمایش میدهد که بیش از 1000 واحد هزینه کردهاند.
این تحلیل برای مدیریت فروشگاه آنلاین بسیار کاربردی است و میتواند به شناسایی مشتریان باارزش و بررسی عملکرد فروشگاه کمک کند.




کاربران ما
شما هم نظرتون با ما دریاره “توابع تجمعی در پایگاه داده SQL” اشتراک بزارید
برای ارسال نظر لطفا ورود یا ثبت نام کنید