طراحی بانک اطلاعاتی – ۸# ساخت پرس و جوهای تجمعی (آماری) در SQL

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

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

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

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

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

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

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

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

select count (*)  from  studs

خروجی:

Count(*)
۴

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

cp

qty pid cid
۱۵۰

۱۶۰

۱۳۰

۱۰۰

۱۰

۱۰

۳

۴

۱۰۰

۱۰۱

۱۰۰

۱۰۱

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

select  sum(qty)  from  cp

مثال۳- مجموع فروش کالاهای شماره ی ۱۰ را پیدا کنید

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

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

select  Avg(avgr)  from  studs

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

select  max(avgr)  from  studs  where fid=2

خروجی:

max(avgr)
۱۸

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

studs

Fid Avg Name Id
۲

۱

۲

۱

۱۷

۱۸

۱۵

۱۶

Ali

Reza

Ahmad

Hadi

۱۰۰

۱۰۱

۱۰۲

۱۰۳

جدول courses

units title code
۲

۲

۳

Db

Web

physics

۱۰

۱۱

۱۲

Sabtenam

score code id
۱۶

۱۸

۱۰

۱۲

۱۰

۱۲

۱۱

۱۰

۱۰۰

۱۰۱

۱۰۲

۱۰۲

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

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

select fid , Max (avgr)

from studs

group by fid

Max(Avgr) Fid
۱۸

۱۷

۱

۲

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

select fid , Max (avgr)  MG

from studs

group by fid

MG Fid
۱۸

۱۷

۱

۲

مثال۸- بالاترین معدل های بالای ۱۵ را به تفکیک رشته نمایش دهید.

select Fid , Max (avgr)

from studs

group by Fid

having Max (avgr) > 15;

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

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

select Fid , Max (avgr)

from studs

where id > 3

group by Fid;

, ,
Share:

ارسال یک پاسخ

نشانی ایمیل شما منتشر نخواهد شد.

هفت + هفت =

دسته ها