PDA

View Full Version : محاسبه count و sum نمایش آن در دیتاگریدویو



barman.ar16
چهارشنبه 16 خرداد 1397, 18:44 عصر
سلام دوستان
من یک جدول دارم به طور مثال جدول زیر :
148342

خب میخوام اولا اینکه بشمارم ببینم هر کدوم از اسم ها چند بار تکرار شده یعنی count دوم اینکه برای هر کدوم اسم ها ستون mab رو جمع بزنم یعنی sum
خب این کار رو جدا جدا برای هر کدوم خارج از جدول بلدم اما میخوام اینکار رو برای همه حتی اگر تعدادشون زیادتر هم بود انجام بدم و نتیجه رو توی یک دیتاگریدویو نمایش بدم و در نهایت جدول اینطوری بشه

148343

ممنون

danialafshari
چهارشنبه 16 خرداد 1397, 19:44 عصر
با سلام
لطفاً سوالتون رو در بخش مناسب مطرح کنید
قبلاً چندین بار توی تاپیک های مختلف گفتم که این کار اشتباست
شما دارید به صورت تجمعی و غیر اصولی با اطلاعات برخورد میکنید و به شدت افزونگی ایجاد میشه
شما باید یکبار اسم رو وارد کنید و در دفعات بعد از ID شخص استفاده کنید مثلاً یکبار مینویسه امیدافشاری و یکبار دیگه مینویسه امید افشاری خب این دو شخص به حساب میاد که خطای کاربری هست و علاوه بر این مدام داره امید افشاری تکرار میشه! خب بجاش ID که int هست رو بزاریم و Performance و سرعت بارگذاری رو ببریم بالا بهتره یا اینکه Nvarchar باشه !؟
اگه میخواید بدرستی طراحیش کنید فرض کنید دارید یک فاکتور طراحی میکنید. ازش الگو بگیرید
موفق باشید

barman.ar16
چهارشنبه 16 خرداد 1397, 21:51 عصر
با سلام
لطفاً سوالتون رو در بخش مناسب مطرح کنید
قبلاً چندین بار توی تاپیک های مختلف گفتم که این کار اشتباست
شما دارید به صورت تجمعی و غیر اصولی با اطلاعات برخورد میکنید و به شدت افزونگی ایجاد میشه
شما باید یکبار اسم رو وارد کنید و در دفعات بعد از ID شخص استفاده کنید مثلاً یکبار مینویسه امیدافشاری و یکبار دیگه مینویسه امید افشاری خب این دو شخص به حساب میاد که خطای کاربری هست و علاوه بر این مدام داره امید افشاری تکرار میشه! خب بجاش ID که int هست رو بزاریم و Performance و سرعت بارگذاری رو ببریم بالا بهتره یا اینکه Nvarchar باشه !؟
اگه میخواید بدرستی طراحیش کنید فرض کنید دارید یک فاکتور طراحی میکنید. ازش الگو بگیرید
موفق باشید

عذر میخوام جناب افشاری عزیز
به علت اینکه میخواستم جلوی اطاله کلام رو بگیرم و خلاصه سوالم رو بپرسم باعث شد که منظور رو درست نرسونم

اول اینکه برنامه ام رو دارم با سی شارپ می نویسم و بانکم از نوع sqlite هست

این جدولی هم که نمایش دادم بیشتر برای مثال بود

خلاصه داستان از این قراره که من 3 تا جدول دارم یکی رانندگان یکی دانش آموزان و یکی اقساط
خب جدول اقساط به دانش آموزان در ارتباط هست و جدول دانش آموزان با رانندگان
در تمامی این جدول ها هم با کد ملی کار انجام شده بنابراین بحث افزودگی رو رعایت کردم و البته یادم هست این موضوع رو از خود شما یاد گرفتم (در تاپیک های مشابه)

من اول با یک view اومدم جدول اقساط رو به دانش آموزان وصل کردم و بعد با یک view دیگه دانش آموزان رو به رانندگان
الان نهایت معلوم شده که هر راننده چقدر پول اومده به حسابش
در نهایت من میخوام کل پولی که میاد به حساب هر راننده رو جمع بزنم و البته تعدادش رو هم دربیارم که در نهایت بتونم عملیات نهایی یعنی محاسبه لیست پرداخت (محسابه درصدهای مختلف) هست رو انجام بدم

شما اون جدول رو در نظر بگیرید برای مثال ولی در کل من با کد ملی دارم کارها رو انجام میدم / ستون مبلغ رو هم integer گرفتم

ممنون میشم راهنمایی بفرمایید
البته اگر مقدور هست تاپیک رو یه همین قسمت برگردونید ممنون میشم

رامین مرادی
شنبه 19 خرداد 1397, 08:32 صبح
عذر میخوام جناب افشاری عزیز
به علت اینکه میخواستم جلوی اطاله کلام رو بگیرم و خلاصه سوالم رو بپرسم باعث شد که منظور رو درست نرسونم

اول اینکه برنامه ام رو دارم با سی شارپ می نویسم و بانکم از نوع sqlite هست

این جدولی هم که نمایش دادم بیشتر برای مثال بود

خلاصه داستان از این قراره که من 3 تا جدول دارم یکی رانندگان یکی دانش آموزان و یکی اقساط
خب جدول اقساط به دانش آموزان در ارتباط هست و جدول دانش آموزان با رانندگان
در تمامی این جدول ها هم با کد ملی کار انجام شده بنابراین بحث افزودگی رو رعایت کردم و البته یادم هست این موضوع رو از خود شما یاد گرفتم (در تاپیک های مشابه)

من اول با یک view اومدم جدول اقساط رو به دانش آموزان وصل کردم و بعد با یک view دیگه دانش آموزان رو به رانندگان
الان نهایت معلوم شده که هر راننده چقدر پول اومده به حسابش
در نهایت من میخوام کل پولی که میاد به حساب هر راننده رو جمع بزنم و البته تعدادش رو هم دربیارم که در نهایت بتونم عملیات نهایی یعنی محاسبه لیست پرداخت (محسابه درصدهای مختلف) هست رو انجام بدم

شما اون جدول رو در نظر بگیرید برای مثال ولی در کل من با کد ملی دارم کارها رو انجام میدم / ستون مبلغ رو هم integer گرفتم

ممنون میشم راهنمایی بفرمایید
البته اگر مقدور هست تاپیک رو یه همین قسمت برگردونید ممنون میشم

سلام. باید از گروپ بای استفاده کنید. اینکار باعث دسته بندی میشه و در نهایت جمع اون دسته رو نشون میده. من کلیت کار رو گفتم و با یه مثال کلی. شما خودتون بر اساس جدولتون تغییرش بدین.


select Name,count(Name),sum(Sel)
from tblTest
group by Name


اینجا یه کتاب هم گذاشتم امیدوارم مفید واقع بشه:

https://goo.gl/3Aw75N