مقداد شکیبا

  • ۱
  • ۰

کاربرد Group By

مثال 1 : فرض کنید میانگین حقوق کارمندان را به تفکیک سال تولد نیاز داریم. یعنی گزارشی می خواهیم که مثلا مشخص کند میانگین حقوق کلیه کارمندان متولد 1360 ، 1200 ریال، میانگین حقوق کلیه کارمندان متولد 1361، 1150 ریال و .... است.


SELECT   BirthYear , Average(Salary)   FROM    Personnel    Group By  BirthYear

مثال 2 : اگر همان گزارش قبل را فقط برای متولدین قبل از 1360 بخواهیم:


SELECT  BirthYear , Average(Salary)    FROM    Personnel 

WHERE   BirthYear < 1360    Group By   BirthYear

مثال 3 : اما اگر  بخواهیم در خروجی گزارش همان مثال 1 فقط ردیف هائی ظاهر شود که میانگین حقوقی محاسبه شده در انها بالاتر از 2000 ریال باشد نگارش زیر نادرست خواهد بود. زیرا توابع گروهی درWHERE  قابل استفاده نیستند.


SELECT  BirthYear , Average(Salary)    FROM    Personnel 

WHERE   Average(Salary) > 2000       Group By   BirthYear

شیوه صحیح استفاده از Having  می باشد:


SELECT  BirthYear , Average(Salary)    FROM    Personnel 

Group By   BirthYear    Having   Average(Salary) > 2000     


  • ۹۰/۰۵/۰۷
  • مقداد شکیبا

GROUP BY

SQL

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی