تابع SUM
تابع SUM جمع کل ستون عددی را بر می گرداند.
فرم دستور SUM:
SELECT SUM(column_name) FROM table_name
مثال:
جدول Orders را در زیر داریم:
O_Id | OrderDate | OrderPrice | Customer |
---|---|---|---|
1 | 2008/11/12 | 1000 | Hansen |
2 | 2008/10/23 | 1600 | Nilsen |
3 | 2008/09/02 | 700 | Hansen |
4 | 2008/09/03 | 300 | Hansen |
5 | 2008/08/30 | 2000 | Jensen |
6 | 2008/10/04 | 100 | Nilsen |
حال می خواهیم تا جمع کل ستون OrderPrice را به دست آوریم:
از دستور زیر استفاده می کنیم:
SELECT SUM(OrderPrice) AS OrderTotal FROM Orders
نتیجه به شکل زیر خواهد بود:
OrderTotal |
---|
5700 |
برای مشاهده فیلم های آموزشی مقدماتی تا پیشرفته پایگاه دادهSQLServer کلیک کنید.
در مثال بالا اگه فقط بخواهیم جمع مقادیر hansen رو در نتیجه ببینیم چیکار باید کرد ؟
SELECT SUM(OrderPrice) AS OrderTotal FROM Orders
where Customer='Hansen'
عبارت AS در تابع SUM
[SELECT SUM(OrderPrice) AS OrderTotal FROM Orders]
چه معنی میده؟
ممنون میشم جواب بدین
البته توجه داشته باشید، کاربرد اصلی عبارت AS، جهت کوتاه سازی نام ستون ها و جداول است به مثال زیر توجه کنید:
SELECT od.Name,r.NationalName,rt.RoleTypeName
FROM sal.OrderDashboard od
INNER JOIN sal.OrderDashboardRole odr ON odr.OrderDashboardId = od.OrderDashboardId
INNER JOIN sso.Role r ON r.RoleID = odr.RoleId
INNER JOIN sso.RoleType rt ON rt.RoleTypeID = r.RoleTypeID
البته اگر مقدار تمام رکورد های آن ستون عددی باشد و فقط نوع آن varchar یا حروف باشد ، با رعایت نوع داده که در بخش "انوع داده در SQL" توضیح داده شده ، می توان به نوع عددی cast نمود تا شرایط مقایسه یا جمع را داشته باشد .
ORDER BY VarCharColumn DESC