PDA

View Full Version : محاسبه جمع یک ستون در جدول مابه ازای مقادیر یک ستون دیگر



barman.ar16
پنج شنبه 17 خرداد 1397, 21:36 عصر
سلام به دوستان و اساتید
من توی برنامه سی شارپیم که از دیتابیس sqlite دارم استفاده می کنم یک جدول دارم برای پرداخت اقساط دانش آموزان
به این شکل :

148348

همانطور که مشخصه دو تا راننده وجود داره که هر کدام تعدادی دانش آموز زیرمجموعه دارند
برای هر دانش آموز مابه ازای پرداختش یک رکورد ثبت شده که نشون میده چند بار قسط پرداخت کرده

خب اگر فقط یک راننده وجود داشت کافی بود ستون مبلغ رو sum بگیرم
اما الان ما به ازای هر راننده باید این کار رو انجام بدم یعنی راننده شماره 1 sum ستون مبلغ های خودش و همینطور دومی

نکته : این جدول جهت مثال هست در جدول اصلی ام با کد ملی کارها رو انجام دادم برای توضیح دادن آسون این جدول رو برای مثال اوردم

ممنون

Mahmoud.Afrad
پنج شنبه 17 خرداد 1397, 23:14 عصر
http://www.sqlitetutorial.net/sqlite-group-by

danialafshari
پنج شنبه 17 خرداد 1397, 23:42 عصر
سلام به دوستان و اساتید
من توی برنامه سی شارپیم که از دیتابیس sqlite دارم استفاده می کنم یک جدول دارم برای پرداخت اقساط دانش آموزان
به این شکل :

148348

همانطور که مشخصه دو تا راننده وجود داره که هر کدام تعدادی دانش آموز زیرمجموعه دارند
برای هر دانش آموز مابه ازای پرداختش یک رکورد ثبت شده که نشون میده چند بار قسط پرداخت کرده

خب اگر فقط یک راننده وجود داشت کافی بود ستون مبلغ رو sum بگیرم
اما الان ما به ازای هر راننده باید این کار رو انجام بدم یعنی راننده شماره 1 sum ستون مبلغ های خودش و همینطور دومی

نکته : این جدول جهت مثال هست در جدول اصلی ام با کد ملی کارها رو انجام دادم برای توضیح دادن آسون این جدول رو برای مثال اوردم

ممنون
با سلام
همونطور که قبلاً گفتم طراحی جداول خیلی مهم هست و ضعف شما در دیتابیس هست:
* کد ملی رو برای ارتباط به عنوان کلید خارجی یا به عنوان کلید اصلی استفاده نکنید و از ID خود جدول استفاده کنید
یک طراحی اصولی براتون تهیه کردم که گویای همه چیز هست:


148349

(فیلدها صرفاً برای مثال هستن)
موفق باشید

barman.ar16
جمعه 18 خرداد 1397, 11:18 صبح
سلام جناب افراد بسیار ممنونم از شما با این تکه کد مشکل حل شد
سپاسگزارم استاد

SELECT
albumid,
sum(milliseconds),

count(milliseconds)

FROM
tracks
GROUP BY
albumid;





از جناب افشاری بابت راهنمایی هاشون ممنونم