فصل سیزدهم :
Aggregate Functions
جهت انجام محسبات بروی مقادیر فیلدها و باز گرداندن یک مقدار استفاده میشود
AVG : معدل مقادیر را در یک group باز میگرداند .(null را نادیده میگیرد)
کوئری بنویسید که معدل سن دانش اموزان کلاس را نمایش دهد
use School
select avg(age) as AgeAverage from [dbo].[Student]
COUNT
تعداد ایتم ها در group را میشمرد (این تابع نال را نادیده نمیگیرد و اگر مقدار فیلد نال باشد تعداد نال ها را نیز میشمرد )
کوئری بنویسید که تعداد دانش اموزان هر کلاس را به همراه نام کلاس نشان دهد .
use School
select count(student.ID) as StudentCount,[ClassName] from Student
inner join Classroom on student.ClassroomID=Classroom.ID
group by classname
مقدار خروجی از نوع داده int می باشد .
MAX
مقدار ماکزیمم را در عبارت بر میگرداند .
در مورد فیلد های رشته ایی مقدار خروجی تابع collation و یا Unicode است .
تنبل ترین دانش اموز چه ساعتی از خواب بیدار میشود ؟
select max([WakeTime]) from Student
کم سن ترین دانش آموز چه تاریخی متولد شده است
select max([BirthDate]) from Student
MIN
مقدار مینیمم را در عبارت بر میگرداند
در مورد فیلد های رشته ایی مقدار خروجی تابع collation و یا Unicode است
زرنگ ترین دانش اموز چه ساعتی از خواب بیدار میشود ؟
select min([WakeTime]) from Student
مسن ترین دانش آموز چه تاریخی متولد شده است
select min([BirthDate]) from Student
SUM
مجموع تمامی مقدیر را باز میگرداند .
نکته : این تابع فقط بروی ستونهای با datatype عددی کار میکند.
مجموع سن شاگردان کلاس را محاسبه کنید
select sum(age) from student
مجموع سن شاگردان را به تفکیک کلاس نمایش دهد :
select sum(age) as SumOfAge,[ClassName] from Student
inner join Classroom on student.ClassroomID=Classroom.ID
group by classname
نکته : در این تابع بوسیله keyword ی بنام distinct می توان کاری کرد که مقادیر تکراری تنها یکبار در مجموع ظاهر شوند .
select sum( distinct age) from student
select sum( age) from student
به نتیجه این دو select دقت کنید . در اولی بدلیل وجود distinct فقط یکی از 12 ها شمرده میشود.
Count_BIG
دقیقا همانند count() فقط تفاوت آن این است که مقدار بازگشتی آن از نوع داده bigint است و نه int
بسیاری از مفاهیم درفیلم اموزشی بطور مفصل شرح داده شده اند . لذا حتما فیلم آموزشی این فصل را ببینید .
مفاهیم و موضوعات این فصل عبارتند از :
-
Aggregate Functions
-
SUM
-
COUNT
-
AVG
-
MIN & MAX
-
Count_BIG