Выполнение различных расчетов на основе результата подсчета - PullRequest
0 голосов
/ 26 мая 2020

Сегодня я пытаюсь использовать функцию COUNT (*) для возврата строк, соответствующих моим критериям, как показано ниже.

SELECT COUNT(*)
FROM "mv_fundraiser_report"
WHERE thank_you_delivered = true

Я пытаюсь выполнить другое вычисление на основе номер, который возвращается. Например:

If COUNT > 2000
RETURN COUNT * 2

If COUNT < 2000
RETURN COUNT * 3

Я ищу руководство относительно того, как я могу выполнить эту задачу в PostgreSQL. Спасибо!

1 Ответ

1 голос
/ 26 мая 2020

Использование выражения условия CASE

select case 
        when cnt > 2000
            then cnt * 2
        else cnt * 3
        end new_cnt
from (
    select COUNT(*) as cnt
    from "mv_fundraiser_report"
    where thank_you_delivered = true
    ) t
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...