راکت
حل شده

اعمال شرط روی تابع SUM در MYSQL

3 پاسخ

سلام دوستان وقت بخیر
داخل دیتابیس یه ستون دارم که میخوام اعدادی که داخل اون ستون هستند باهم جمع زده بشن
اما با اعمال شرط مثلا دوتاشو باهم جمع کنم نه همشو چه کوئری باید بگیرم ؟

SELECT SUM(fee) FROM test WHERE user= 2

در کد بالا همه ردیف هایی که user=2 هستند رو در میاره و مقدار fee همشون رو جمع میکنه ولی من میخوام که مثلا ده تا ردیف داریم از اونا فقط مثلا دوتای اولشو جمع بزنه ؟ همچین شرطی میشه اعمال کرد رو تابع sum دیتابیس ؟

با PHP بلدم این کار رو انجام بدم داخل حلقه بندازم ولی برای سرعت کار و استفاده کم از منابع میخوام از دیتابیس اینو بگیرم
ممنون میشم راهنمایی کنید.

ثبت پرسش جدید

پاسخ‌ها

3
احسان داوری
احسان داوری
@ehsndvr

تخصص: برنامه نویس

بهترین پاسخ

سلام آقا رضا
شما باید از LIMIT استفاده بکنید:

SELECT SUM(num) FROM (SELECT num FROM test WHERE user=2 LIMIT 2) AS prices;

الان فقط مورد اول و دوم رو باهم جمع میکنه.

همه موارد:
 تصویر

مورد اول و دوم :
 تصویر

جمع مورد اول و دوم:
 تصویر

میلاد خسروی
میلاد خسروی
@milwad

تخصص: برنامه نویس بامزه

سلام خسته نباشید
اینو یه تست کن

SELECT * FROM test WHERE user= 2 SUM(milwad)
رضا
رضا
@Reza Hs

تخصص: برنامه نویس

@milwad این مورد شرطی که من گفته بودم رو نداره
روشی که آقای @ehsndvr گفتند مشکل رو حل کرد ممنون

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام