PDA

View Full Version : مجموع مقادیر دو رکورد را در جدول



electron
چهارشنبه 05 اردیبهشت 1386, 08:27 صبح
مجموع مقادیر دو رکورد را در جدول از تاریخ... تا تاریخ... در mysql چطور محاسبه کنم؟

reza_rad
چهارشنبه 05 اردیبهشت 1386, 08:30 صبح
select sum(field1) from table1 where field_date between date1 and date2

electron
چهارشنبه 05 اردیبهشت 1386, 08:46 صبح
ممنونم از کمکتون
در جدول من بنام radacct دو تا فیلد بنام AcctInputOcts و AcctOutputOcts وجود داره که میخوام مقادیرشو جمع کنم حالا تو کد شما چطوری جایگذاری کنم ؟

reza_rad
چهارشنبه 05 اردیبهشت 1386, 09:05 صبح
در جدول من بنام radacct دو تا فیلد بنام AcctInputOcts و AcctOutputOcts وجود داره که میخوام مقادیرشو جمع کنم حالا تو کد شما چطوری جایگذاری کنم ؟


مجموع مقادیر دو رکورد را در جدول از تاریخ... تا تاریخ... در mysql چطور محاسبه کنم؟

بالاخره کدوم شد؟ دوتا فیلد یا دو تا رکورد ؟!!!

electron
چهارشنبه 05 اردیبهشت 1386, 09:16 صبح
جدول بنام radacct است فیلدهای زیادی داره از جمله username که من می خوام دو تا فیلدش بنام AcctInputOcts و AcctOutputOcts که برای هر یوزری وجود داره( مقادیر uploadو download یوزرهاست ) مقادیرشو جمع کنم حالا تو کد شما چطوری جایگذاری کنم ؟

بعد می خوام این مجموع ها رو که برای هر یوزری حساب کرد بصورت عددی و sort شده گزارش بده

electron
چهارشنبه 05 اردیبهشت 1386, 09:44 صبح
در واقع می خوام مقدار download , upload را بطور جداگانه برای هر یوزر و از تاریخ ... تا تاریخ ... جمع بزنه
اگه میشه راهنمایی کنید ممنون

reza_rad
چهارشنبه 05 اردیبهشت 1386, 10:36 صبح
باز هم من متوجه مشکل اصلی شما نشدم!

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


select upload+download from table1 where date_field between date1 and date2


اگه فقط مقادیر یک فیلد رو می خوای توی تمام رکوردها جمع بزنی:


select sum(upload) from table1 where date_field between date1 and date2


اگه می خوای مقادیر دو فیلد جمع بشن و در نهایت هم به هم اضافه بشن:


select sum(upload)+sum(download) from table1 where date_field between date1 and date2


حالا منظورت از همین ها بود یا چیز دیگه؟

electron
چهارشنبه 05 اردیبهشت 1386, 11:42 صبح
SELECT sum(AcctOutputOctets) , sum(AcctInputOctets) FROM `radacct` where username like '%na_hasti%'


Query بالا رو با کمک شما اجرا کردم و جواب داد حالا میشه راهنمایی کنید چطور برای هر یوزری رو حساب کنم و در خروجی نتایج sort شده رو (desending) با نام upload و download داشته باشم؟

reza_rad
چهارشنبه 05 اردیبهشت 1386, 12:03 عصر
از Group by استفاده کن.
در انتهای اون کوئری این خط رو اضافه کن:(البته بجای user_id فیلد مربوط به یوزر توی جدولت رو بذار)



group by user_id

electron
چهارشنبه 05 اردیبهشت 1386, 12:30 عصر
SELECT sum(AcctOutputOctets) , sum(AcctInputOctets) FROM radacct GROUP BY username

باز هم ممنون از کمکتون
این query هم اجرا شد منتها لازم که در خروجی کنار sum های دو تا فیلدی که حساب کرده یوزر مربوطش رو هم نشون بده که معلوم باشه مال کودوم یوزر است و sum را به ترتیب desending سورت کنه

ممکنه راهنمایی کنید؟

electron
چهارشنبه 05 اردیبهشت 1386, 14:46 عصر
میشه خواهش کنم جواب سوال بالا رو بدید خیلی ممنون میشم.

tabib_m
پنج شنبه 06 اردیبهشت 1386, 16:00 عصر
سلام.
با اجازه آقای راد

لازم که در خروجی کنار sum های دو تا فیلدی که حساب کرده یوزر مربوطش رو هم نشون بده که معلوم باشه مال کودوم یوزر است و sum را به ترتیب desending سورت کنه


SELECT `username` , sum(AcctOutputOctets) , sum(AcctInputOctets) FROM `radacct` where `username` like '%na_hasti%'


موفق باشید.