У меня есть данные этого типа:
| company_id | role_id |
| 1 | 1 |
| 2 | 2 |
| 1 | 2 |
Вот мой запрос, который выбирает один идентификатор компании и передается в качестве идентификатора роли аргумента.
SELECT company_id AS companyId, COUNT(role_id) AS usersNumber
FROM companies
WHERE role_id = :userId
GROUP BY companyId
Где :userId
- аргумент, переданный JPA.
, который выдает что-то вроде этого:
| company_id | passed_role_id_count |
| 1 | 1 |
| 2 | 1 |
То, чего я хочу достичь, - это получить вывод такой:
| company_id | first_role_count | second_role_count |
| 1 | 1 | 1 |
| 2 | 0 | 1 |
Возможно ли иметь такой вывод? Или, может быть, лучше выбрать все из БД и затем группировать, используя Java Streams?