رضا
3 سال پیش توسط رضا مطرح شد
3 پاسخ

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

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

SELECT SUM(fee) FROM test WHERE user= 2

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

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


ثبت پرسش جدید
احسان داوری
تخصص : برنامه نویس
@ehsndvr 3 سال پیش آپدیت شد
0

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

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

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

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

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

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


میلاد خسروی
تخصص : برنامه نویس بامزه
@milwad 3 سال پیش مطرح شد
-1

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

SELECT * FROM test WHERE user= 2 SUM(milwad)

رضا
تخصص : برنامه نویس
@Reza Hs 3 سال پیش مطرح شد
0

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


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

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