سلام دوستان توضيحات در مورد دستور Group By و Having مي خواستم بهم بدين. چه استفاده اي از اين دستور ميشه ؟ چه مواقع استفاده مي شه ؟ لطفا راهنمايي كنيد
سلام دوستان توضيحات در مورد دستور Group By و Having مي خواستم بهم بدين. چه استفاده اي از اين دستور ميشه ؟ چه مواقع استفاده مي شه ؟ لطفا راهنمايي كنيد
سلام
از group by وقتی استفاده می کنی که می خواهی اطلاعاتت را بر طبق یک یا چند فیلد دسته بندی کنی.
زمانی که میخواهی توابع محاسباتی را در بخش where بیاوری،sql چنین اجازه ای نمی دهد. شرط مربوطه را در قسمت having می آوری.
**وقتی میخواهی having در دستورت بیاوری حتما باید از Group By در دستور sql استفاده کنی.
** هر فیلدی که در قسمت select می آوری در قسمت Group By هم باید آورده شود.
یه جستجو تو سایت بزنی مطالب کاملتری میتونی پیدا کنی.
سلام دوست من،
در مورد خطی که با رنگ صورتی در آورده شده: هیچ الزام و ضروریتی وجود نداره، شما می تونید بدون استفاده از ماده ی group by از having بهره مند شوید. بطور مثال:
SELECT MAX(i) FROM table_name
HAVING MAC(i) >100
در مورد خط نارنجی: اگر آن فیلد در یک تابع تجمعی استفاده شود، می توانیم آن را در Group By در نظر نگیریم.
وبلاگ من (Advanced SQL Querying)
ممنونم از دوستان عزيز به خاطر راهنمايي هاشون
هر فیلدی که در قسمت select می آوری در قسمت Group By هم باید آورده شود.با توجه به این گفته،یه سوالی برای من پیش اومد:اگر آن فیلد در یک تابع تجمعی استفاده شود، می توانیم آن را در Group By در نظر نگیریم.
اگر ما مجبور باشیم در اطلاعاتی که قراره برگدانده شود از تعداد زیادی فیلذد در Select استفاده کنیم،
و اگر کوئری ما دارای دستور Group By هم باشد ،آن وقت مجبوریم ،تمام آن فیلدهای select را در دستور group by هم بیاوریم.
آیا این کار در جواب مسئله تغییری ایجاد نمی کند؟ممکنه جواب را به نحو نادرستی تغییر بده؟؟؟؟؟؟؟؟
این مساله بر می گردد به سناریوی موجود.
group by برای خلاصه سازی اطلاعات استفاده میشه. عموما یکسری ستون ها را به عنوان مجموعه ی گروه بندی در نظر می گیریم و دیگر ستون ها را داخل توابع تجمعی استفاده می کنیم.
وبلاگ من (Advanced SQL Querying)
درود :
دستور Group by برای شرایط خاصی استفاده میشه که کاربر می خواد نمایش گروهی داشته باشه .
مثلا می خواد خریداران یک فروشگاه رو بنا کالای خریداری نمایش بده و یا نمایش هایی در همین شرایط .
تعداد ستون های مورد استفاده تاثیری در کار ندارد اگر کار درست انجام بشه .اگر ما مجبور باشیم در اطلاعاتی که قراره برگدانده شود از تعداد زیادی فیلذد در Select استفاده کنیم،
آیا این کار در جواب مسئله تغییری ایجاد نمی کند
فکر خوش .
ممنون از توجهتون
ولی من دقیقا متوجه نشدم
اگه کاره تون رو دقیق بگین بهتره و کجا رو متوجه نشدین .ولی من دقیقا متوجه نشدم
فکر خوش .
حرف شما درسته مجبورید به تعداد فیلدهایتون در Group by هم تکرار کنید منظور دوستان هم اینه که این دستور اصلا طراحی شده برای قالب Query کوتاه تا تعداد ستون بازگشتی را کم کنه.