Как суммировать на основе значения поля (mysql) - PullRequest
4 голосов
/ 05 июля 2011

Я получил эту таблицу с именем tb_stock

ID AMOUNT FLAG LAST_AMOUNT
1   5     N    0                
2   0     Y    8                
3   0     Y    7                
4   6     N    0

Сейчас я хочу суммировать значение на основе значения FLAG.Например, если значение FLAG равно N, оно будет суммироваться из поля AMOUNT, а если значение FLAG равно Y, оно будет суммироваться из поля LAST_AMOUNT.

Таким образом, общая сумма будет равна 26 (5 + 8 +7 + 6).

Это можно сделать, просто используя mysql, или это также будет связано с php?

Спасибо.

Ответы [ 2 ]

5 голосов
/ 05 июля 2011
SELECT SUM(CASE WHEN FLAG = 'Y' THEN LAST_AMOUNT ELSE AMOUNT END) AS TOTAL
FROM tb_stock
0 голосов
/ 05 июля 2011

это пример использования IF оператора

SELECT SUM(IF(`flag`='y', last_amount, amount))
FROM example_table
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...