Моя структура базы данных выглядит следующим образом:MySQL SELECT, ЕСЛИ дифференцироваться SUM
id | valuefor | quantity
1 alpha 500
2 alpha 100
3 beta 200
Я использую следующие тузд команды
SELECT IF(valuefor=alpha, SUM(quantity),0) as alpha
, IF(valuefor=beta, SUM(quantity),0) as beta
FROM mytable
Выходной ток:
alpha | beta
800 0
Очевидная проблема с выше, это то, что он SUMS все строки, так как я использовал SUM. Как я могу преодолеть эту дилемму? Я хочу получить количество альфа и бета отдельно.
Во-вторых, я смущен тем, почему бета-версия не имеет значения = 800 на выходе и почему она говорит 0. Это только для моего лучшего понимания проблемы.
Я хочу привести выглядеть примерно следующим образом:
alpha | beta
600 200
Это не дилемма. – Strawberry