Запрос на увеличение значения в поле от заданного числа

Рейтинг: 0Ответов: 2Опубликовано: 09.12.2014

Всем доброго времени суток. У меня имеется таблица пользователей с полями:

   id             
+-------------+
   percent    
+-------------+
   sum         
+-------------+
   filter

Мне нужно для каждого пользователя с filter=1 увеличить значение в поле sum на процент (из поля percent) от заданого числа. То есть если заданное число = 100 (может изменяться), то пользователю с percent=15 нужно увеличить значение поля sum на 15 (15 процентов от 100).

Все, что я сейчас могу, - сделать выборку всех пользователей с filter=1, а потом в цикле при помощи языка программирования считать для каждого пользователя процент и делать запрос в бд на установку нового значения поля sum... Мне кажется, что это не лучшее решение и поставленную задачу можно сделать при помощи sql.

Буду благодарен, если кто-нибудь подскажет, в какую сторону смотреть или приведет пример sql запроса для заданной таблицы.

Ответы

▲ 2
UPDATE `table`
SET `sum`=`sum`*(1+percent/100)
WHERE filter=1
▲ 2
update A set sum = sum + (<число>/100*percent) where filter=1;