ورود

View Full Version : مشکل با group by



bdf2121
شنبه 31 تیر 1391, 23:14 عصر
میخوام group by یه فیلد از بگیرم ولی ارور میده مشکل از کجا میتونه باشه
مثلا
select * from geymat
group by codegeymat
این ارور رو برای بقیه فیدها میده
Column 'geymat.shabak' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
ممنون

aslan
یک شنبه 01 مرداد 1391, 00:00 صبح
سلام
برای اینکه بتونی اطلاعات را گروهبندی کنی بایستی اسامی فیلدها را بعد از select , group by ذکر کنی ( اسامی فیلدها یا توابع مورد عمل بر روی فیلدها )
بهتر است لینک زیر را مطالعه کنید
http://www.w3schools.com/sql/sql_groupby.asp

bdf2121
دوشنبه 02 مرداد 1391, 03:16 صبح
سلام
برای اینکه بتونی اطلاعات را گروهبندی کنی بایستی اسامی فیلدها را بعد از select , group by ذکر کنی ( اسامی فیلدها یا توابع مورد عمل بر روی فیلدها )
بهتر است لینک زیر را مطالعه کنید
http://www.w3schools.com/sql/sql_groupby.asp

ممنون از پاسختون
ولی همینطور که دستورم رو بالا ذکر کردم دیدید که من تمامی فیلدها رو سلکت کردم ولی نمیدونم چرا ارور میده
اشکال میطونه از نوع فیلدها یا کلید بودنشون باشه؟

حمیدرضاصادقیان
دوشنبه 02 مرداد 1391, 07:39 صبح
سلام
دوست عزیز فیلدهای در Select رو جلوی Group By قید نکردید.
الان در Select شما از * استفاده کردید یعنی همه فیلدهای جدول Shabak ولی در Group By فقط فیلد Codegheymat رو نوشتید.الان خطا داره میگه فیلد geymat نیز درSelect شما هست ولی در جلوی Group by نیست.
به جز همه اینها Group By اینجور معنی پیدا نمیکنه و همون گزارش معمولی از کل جدول رو بهتون میده.
Group By برای استفاده این هست که شما در دستور Select از توابع محاسباتی استفاده کردید و میخواهید مجموع اطلاعات براساس یک فیلد یا فیلدهای خاص رو بهتون نمایش بده که از Group by استفاده باید کرد.