View Full Version : Cube & ROLLUP
M.GhanaatPisheh
شنبه 30 آبان 1383, 14:18 عصر
تفاوتشونو میدونید؟
AminSobati
یک شنبه 01 آذر 1383, 12:48 عصر
دوست عزیزم،
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
تعداد سفارشات ثبت شده توسط هر کارمند در انتها قرار میگیره.
ضمنا فایلی رو که ارسال کردم حتما ببینید.
موفق باشید..
M.GhanaatPisheh
سه شنبه 03 آذر 1383, 19:54 عصر
امین عزیز,
فایل رو دیدم
چیزی که من فهمیدم اینه که یه جور summary گرفتن از Query روی table هست.
درسته؟
امین جون دستت درد نکنه
ایشالا عروسیت جبران کنیم :D :موفق:
AminSobati
پنج شنبه 05 آذر 1383, 11:27 صبح
چیزی که من فهمیدم اینه که یه جور summary گرفتن از Query روی table هست
کاملا درسته :) و این نوع Summary گرفتن برای کاربر چندان مفهوم نیست و برنامه نویسها یا Adminها ازش استفاده میکنن.
حمیدرضاصادقیان
سه شنبه 05 اردیبهشت 1385, 12:57 عصر
میشه یک مقداری بیشتر درمورد این توضیح بدهید؟
وآیا بیشتر در چه نوع گزارشاتی میشه ازش استفاده کرد؟
AminSobati
سه شنبه 05 اردیبهشت 1385, 13:42 عصر
زمانی که Group By استفاده میکنید، ممکنه نیاز باشه بدونین ترکیبهای مختلف فیلدها در Group By چه نتیجه ای میده. فرضا یک جدول داریم که شما گزارشی به تفکیک جنسیت ورزشکار، رشته ورزشی، تعداد شرکت کنندگان و مثلا کشور میخواهید تهیه کنید. لذا طبیعتا فیلدهایی مثل جنسیت (sex)، رشته (sport) و کشور (country) در Group By قرار میگیرند. حالا اگر لازم باشه بدونیم از هر کشور چند نفر ورزشکار شرکت کردند، از هر کشور چند نفر مرد و زن شرکت کردند، در هر رشته چند نفر داریم، در هر رشته به تفکیک جنسیت چند نفر، از هر کشور چند نفر در رشته های مختلف داریم، از هر کشور چند نفر مرد و زن شرکت به تفکیک رشته شرکت کردند و ....
یعنی تمام حالتهای مختلفی که ممکنه سه فیلد مذکور تشکیل بدهند توسط Cube و Rollup در یک Query قابل دریافته
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.