×

Aggregate Functions در SQL Server

فصل سیزدهم :

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

vatantop
نظرات و سوالات درج سوال/ نظر