@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 .."
, чтобы получить результаты в одном элементе. Можно этот как-то организовать?
  • Вопрос задан
  • 38 просмотров
Пригласить эксперта
Ответы на вопрос 2
@galaxy
SELECT SUM (CASE WHEN status = 1 THEN amount END) as sum1, ... FROM ... GROUP BY ..
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы