Добавить к текущему запросу count
У меня есть следующие таблицы:
create table GROSS(DATE_ACT DATE, SUB_ID BIGINT, PP_ID BIGINT, CUSTOMER_TYPE VARCHAR(50), REACTIVATION int);
insert into GROSS values(2019-11-3, 234, 5, 'Business', 1);
insert into GROSS values(2018-9-2, 131, 8, 'Business', 0);
insert into GROSS values(2018-11-3, 98, 3, 'Private', 1);
create table TARIFF(PP_ID INT, PP_NAME VARCHAR(100), SUB_ID INT, PP_START_DATE DATE, PP_END_DATE DATE);
insert into TARIFF values(3, 'PLAN_1', 98, 2021-5-3, 2021-6-3);
insert into TARIFF values(5, 'Business plan 3.0', 234, 2021-5-6, 2021-6-6);
insert into TARIFF values(8, 'Business plan 4.0', 131, 2021-5-10, 2021-6-10);
create table SERVICE(SERVICE_START_DATE DATE, SERVICE_STOP_DATE DATE, SUB_ID INT, SERVICE_NAME VARCHAR(100));
insert into SERVICE values(2021-5-7, 2021-6-7, 98, 'Unlimited Internet 2');
insert into SERVICE values(2021-5-7, 2021-6-7, 98, 'Internet');
insert into SERVICE values(2021-5-7, 2021-6-7, 98, 'Unlimited Internet 512');
create table SUBSCRIBER(MONTH DATE, COMPANY_NAME VARCHAR(100), SUB_ID INT, CUSTOMER_TYPE VARCHAR(100), STATUS INT, PP_TYPE_ID VARCHAR(50));
insert into SUBSCRIBER values(2022-1-6, 'A1', 98, 'Private', 1, 'Fixed');
insert into SUBSCRIBER values(2022-1-6, 'MTS', 234, 'Business', 1, 'Fixed');
insert into SUBSCRIBER values(2022-1-6, 'Life', 131, 'Business', 1, 'Fixed');
insert into GROSS values(2021-12-15, 228, 5, 'Business', 0);
insert into TARIFF values(5, 'Бизнес-план 3.0', 228, 2021-12-15, 2999-01-01);
insert into SERVICE values(2021-12-15, 2999-01-01, 228, 'Безлимитный Интернет 512');
insert into SUBSCRIBER values(2022-01-01,'MTS', 228, 'Business', 1, 'Voice');
Из них я сделал запрос и получил нужные мне данные:
select GROSS.DATE_ACT, GROSS.SUB_ID, TARIFF.PP_NAME, SERVICE.SERVICE_NAME, SUBSCRIBER.COMPANY_NAME
from GROSS
inner join TARIFF on GROSS.SUB_ID = TARIFF.SUB_ID
inner join SERVICE on TARIFF.SUB_ID = SERVICE.SUB_ID
inner join SUBSCRIBER on SERVICE.SUB_ID = SUBSCRIBER.SUB_ID
where MONTH(GROSS.DATE_ACT) = 12
and GROSS.CUSTOMER_TYPE = 'Business'
and TARIFF.PP_NAME regexp 'Бизнес-план.+'
and GROSS.DATE_ACT = SERVICE.SERVICE_START_DATE
and SERVICE.SERVICE_NAME = 'Безлимитный интернет 512' or 'Безлимитный интернет 1' or 'Безлимитный интернет 2'
and YEAR(SERVICE.SERVICE_STOP_DATE) = 2999;
Как мне добавить функцию count так, чтобы она возвращалась с этой таблицей, что вернулась в запросе, при этом мне нужно посчитать, сколько активных пользователей(SUBSCRIBER.STATUS = 1) вообще из всех пользователей, у которых SERVICE_NAME стоит такой же, как у полученного пользователя, в данном случае MTS