mysql: увеличить число на проценты

Увеличить значения какого либо поля на указанный процент от текущего значения для всех или группы строк:

UPDATE `tablename` SET `fieldname`=`fieldname`+(`fieldname`/100*процент)

Конкретный пример:
увеличить цену всех позиций каталога на 30% кроме тех, которые находятся в подкатегориях категории с id 203.

UPDATE `catalog` SET `price`=`price`+(`price`/100*30) WHERE `parent` NOT IN (SELECT id FROM `razdel` WHERE `parent`='203')

Комментарии 5

Написать комментарий
  1. Александр

    Увеличить на 30%
    UPDATE `tablename` SET `fieldname`=`fieldname`* (1.3)

  2. list

    Здравствуйте, а как сделать чтобы менялись цены в одной категории, но за исключением 2 подкатегорий?

  3. Аноним

    @Артур
    Получится просто 0,3 процента от значения. А надо именно УВЕЛИЧИТЬ.

  4. Konstantin Krylov автор

    @Артур
    Тогда UPDATE `tablename` SET `fieldname`=`fieldname`+(`fieldname`*0.процент)
    т.к. если значение было 100, нужно получить 130 а не 30.

  5. Артур

    можно умножить на 0,3:
    UPDATE `tablename` SET `fieldname`=`fieldname`* 0,процент

Оставить комментарий

или Ctrl+Enter

Комментарии к записи по RSS