#php #mysql #sql
#php #mysql #sql
Вопрос:
предположим, у меня есть эта таблица
var
10
3
4
60
70
и я хочу взять сумму var. Есть ли способ ограничить количество переменных, добавляемых к общей сумме в каждой строке
обычно вы так и делаете SELECT SUM(var)
, но говорите, что я хочу ограничить каждую строку, чтобы она добавляла максимум 5 баллов к сумме. Следовательно, я бы хотел, чтобы итоговая сумма была (5 3 4 5 5) = 22 ( поскольку 10, 60 и 70 превышают 5), а не обычный результат 147 для СУММЫ (var)
есть ли способ указать запрос mysql для выполнения такой задачи?
Ответ №1:
SELECT SUM(LEAST(5, var)) as modified_total;
http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_least
Комментарии:
1. Я думаю, что OP хочет вместо этого SUM(LEAST(var, 5))?
2. @themel, я исправил это секунду назад… Я запутался. Нажмите обновить.