Как рассчитать результаты столбцов базы данных и сгруппировать их, чтобы получить управляемый вывод - PullRequest
0 голосов
/ 20 апреля 2020

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

code ----- companyID ----- bought----- returned
abcd ----- 32        ----- 1       ----- 0
efgh ----- 32        ----- 1       ----- 1
ijkl ----- 58        ----- 1       ----- 1
mnop ----- 65        ----- 1       ----- 0

, и я пытаюсь получить желаемый (ниже результат) с этим запросом

SELECT COUNT(*) AS bought, companyID FROM table 
WHERE bought= 1 AND refunded = 0

UNION ALL 
SELECT COUNT(*) AS returned, companyID FROM table 
WHERE returned= 1

GROUP BY companyID

, что неверно.

Вот требуемый результат:

companyID ----- codesTotal ----- boughtTotal ----- returnedTotal
32        ----- 2          ----- 2            ----- 1
58        ----- 1          ----- 1            ----- 1 
65        ----- 1          ----- 1            ----- 0 

Номера строк в идентификаторе компании должны быть равны купленному итогу.

Как я могу отредактировать код, чтобы добиться этого?

1 Ответ

0 голосов
/ 20 апреля 2020

Это то, что вы хотите?

select companyid,
       count(*) as num_codes,
       sum(bought) as num_bought,
       sum(returned) as num_returned
from t
group by companyid;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...