@galliard

Как в PostgreSql написать SUM c условием?

Итак, есть запрос, например "SELECT SUM (amount), status FROM ... GROUP BY ...". Но я хочу получить сумму элементов, разбитым по статусам. Если просто написать status в GROUP BY, то база просто вернет мне несколько записей на каждый статус, и мне придется все это мержить в коде, чего очень хотелось бы избежать. Хочется чего нибудь вроде
SELECT SUM (amount со статусом 1) as sum1, SUM(amount  со статусом 2) as sum2, SUM (amount со статусом 3) as sum3 FROM ... GROUP BY .."
, чтобы получить результаты в одном элементе. Можно этот как-то организовать?
  • Вопрос задан
  • 947 просмотров
Решения вопроса 1
@galaxy
SELECT SUM (CASE WHEN status = 1 THEN amount END) as sum1, ... FROM ... GROUP BY ..
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы