ورود

View Full Version : استفاده از بعضی فیلدهای موجود در select برای group by کردن



chasbonakam
چهارشنبه 03 آبان 1391, 17:08 عصر
سلام

چه طوری میشه فقط از یکی از فیلد هایی که تو دستور select هست برای group by استفاده کنیم؟

مثلا وقتی مینویسم


Select a1,a2,a3 from Tbl
Group By a1


با پیغام خطا مواجه میشم!!

اما من نیاز دارم اون رکورد هایی که تو فیلد a1 مشترک هستند تو یک دسته نشان داده بشن!!!

ایا اصلا این کار با group by امکان پذیره؟ اگه نیست چه جوری باید انجامش بدم؟


امیدوارم سوالم رو خوب مطرح کرده باشم.
ممنون میشم اگه پاسخ بدید!!

خیلی بهش نیاز دارم

مرسی

بهزادصادقی
چهارشنبه 03 آبان 1391, 17:47 عصر
پیغام خطایی که می‌گیرید چیست؟

حمیدرضاصادقیان
چهارشنبه 03 آبان 1391, 22:48 عصر
سلام.
Group By وقتی استفاده می شود باید فیلدهایی که در عملیات Aggregate شرکت نمیکنند در جلوی لیست Group by شرکت داده شوند. در دستور شما وجود Group by هیچ کاری انجام نمیدهد.
Group By برای این استفاده می شود که فرضا میخواهید مقدار یک فیلد رو جمع کنید یا میانگین بگیرید براساس یک ID خاص.که مثلا اگر از ID 10 تعداد 20 رکورد بود و از ID 20 تعداد 30 رکورد بود جمع اینها رو در دو رکورد 10,20 به تفکیک شماره ID به شما نمایش دهد و در اصل این Query شما هیچ کار خاصی انجام نمیدهد و چون هیچ Aggregate روی هیچ فیلدی ندارید همه فیلدها رو باید در Group by شرکت دهید.