وباکا

آموزش تخصصی برنامه نویسی وب

برای ساخت  پرس وجوهای تجمعی یا آماری در sql از توابع تجمعی استفاده می شود، با استفاده از این توابع روی محاسباتی روی ستون های جداول انجام شده و نتایج نشان داده می شود. در این بخش به معرفی چند نمونه از این توابع و استفاده از آنها می پردازیم

در SQL دو نوع تابع وجود دارد :

1- توابع اسکالر: روی یک ستون (بدون تعیین ستون) اجرا شده و روی یک مقدارعمل میکند.مثل توابع ریاضی،رشته ای،تاریخ و غیره

  • توابع تجمعی: روی یک ستون از جدول اجرا شده و بر روی چند سطر عمل می کند.

توابع تجمعی عبارتند از

count  : محاسبه تعداد سطرها                          sum : محاسبه مجموع مقادیر یک ستون

avg : محاسبه میانگین مقادیر یک ستون          max ،min : محاسبه حداکثر یاحداقل مقادیر یک ستون

مثال1- تعداد سطر های جدولstuds  را برمی گرداند.

select count (*)  from  studs

خروجی:

Count(*)
4

 

جدول فروش رابصورت زیر درنظر بگیرید:

cp

qty pid cid
150

160

130

100

10

10

3

4

100

101

100

101

 

مثال2- محاسبه ی مجموع مقادیر درجدول فروش

select  sum(qty)  from  cp

 

مثال3- مجموع فروش کالاهای شماره ی 10 را پیدا کنید

select  sum(qty)   From  cp    Where  pid=10 ;

 

 

مثال4-  میانگین کل دانشجویان یک دانشگاه

select  Avg(avgr)  from  studs

مثال 5- بالاترین معدل بین دانشجویان رشته کامپیوتروکد 2

select  max(avgr)  from  studs  where fid=2

خروجی:

max(avgr)
18

 

جدول دانشجویان ، دروس و انتخاب درس را بصورت زیر در نظر بگیرید:

studs

Fid Avg Name Id
2

1

2

1

17

18

15

16

Ali

Reza

Ahmad

Hadi

100

101

102

103

جدول courses

units title code
2

2

3

Db

Web

physics

10

11

12

 

 

Sabtenam

score code id
16

18

10

12

10

12

11

10

100

101

102

102

 

Code: کد درس id   : شماره دانشجویی    score: نمره

 

مثال6-  نمایش بالاترین معدل ها به تفکیک رشته

select fid , Max (avgr)

from studs

group by fid

 

Max(Avgr) Fid
18

17

1

2

مثال 7 : نامگذاری ستون ها بصورت دلخواه

select fid , Max (avgr)  MG

from studs

group by fid

 

MG Fid
18

17

1

2

مثال8- بالاترین معدل های بالای 15 را به تفکیک رشته نمایش دهید.

select Fid , Max (avgr)

from studs

group by Fid

having Max (avgr) > 15;

* از HAVING  برای اعمال محدودیت روی نتیجه پرس و جوی تجمعی استفاده می شود

 

مثال 9- بالاترین معدل ها را به تفکیک رشته برای دانشجویان با شماره دانشجویی بزرگتر از 3 نمایش دهید.

select Fid , Max (avgr)

from studs

where id > 3

group by Fid;

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

فهرست مطالب