تفاوتشونو میدونید؟
تفاوتشونو میدونید؟
دوست عزیزم،
ROLLUP باعث میشه تا Operator بکار رفته در دستور Select، به ترتیب روی بقیه فیلدهایی که Select کردین هم تاثیر بگذاره:
مثلا این Query نشون میده که هر کارمند، چه تعداد سفارش برای هر مشتری ثبت کرده. در ضمن اینکه تعداد سفارشهای هر مشتری رو هم نمایش میده:
use northwind
select o.customerid,e.lastname,count(o.orderid) from orders o join employees e
on o.employeeid=e.employeeid
group by o.customerid,e.lastname
with rollup
ولی اینکه هر کارمند چه تعداد سفارش تا به حال ثبت کرده مشخص نیست. ولی در این Query به کمک CUBE امکان پذیره(CUBE ترکیبهای مختلف بین فیلدهای Select شده رو هم نمایش میده):
use northwind
select o.customerid,e.lastname,count(o.orderid) from orders o join employees e
on o.employeeid=e.employeeid
group by o.customerid,e.lastname
with cube
تعداد سفارشات ثبت شده توسط هر کارمند در انتها قرار میگیره.
ضمنا فایلی رو که ارسال کردم حتما ببینید.
موفق باشید..
امین عزیز,
فایل رو دیدم
چیزی که من فهمیدم اینه که یه جور summary گرفتن از Query روی table هست.
درسته؟
امین جون دستت درد نکنه
ایشالا عروسیت جبران کنیم :D :موفق:
کاملا درسته :) و این نوع Summary گرفتن برای کاربر چندان مفهوم نیست و برنامه نویسها یا Adminها ازش استفاده میکنن.چیزی که من فهمیدم اینه که یه جور summary گرفتن از Query روی table هست
میشه یک مقداری بیشتر درمورد این توضیح بدهید؟
وآیا بیشتر در چه نوع گزارشاتی میشه ازش استفاده کرد؟
Telegram : @SQL_Server
زمانی که Group By استفاده میکنید، ممکنه نیاز باشه بدونین ترکیبهای مختلف فیلدها در Group By چه نتیجه ای میده. فرضا یک جدول داریم که شما گزارشی به تفکیک جنسیت ورزشکار، رشته ورزشی، تعداد شرکت کنندگان و مثلا کشور میخواهید تهیه کنید. لذا طبیعتا فیلدهایی مثل جنسیت (sex)، رشته (sport) و کشور (country) در Group By قرار میگیرند. حالا اگر لازم باشه بدونیم از هر کشور چند نفر ورزشکار شرکت کردند، از هر کشور چند نفر مرد و زن شرکت کردند، در هر رشته چند نفر داریم، در هر رشته به تفکیک جنسیت چند نفر، از هر کشور چند نفر در رشته های مختلف داریم، از هر کشور چند نفر مرد و زن شرکت به تفکیک رشته شرکت کردند و ....
یعنی تمام حالتهای مختلفی که ممکنه سه فیلد مذکور تشکیل بدهند توسط Cube و Rollup در یک Query قابل دریافته