Внутреннее соединение с группой по выражению в оракуле sql

Я новичок в sql, любая помощь приветствуется.

У меня есть две таблицы, employees и jobs. employees содержат переменную job_id (у нескольких сотрудников может быть один и тот же идентификатор job_ID). jobs содержат переменные job_id и job_title (один идентификатор job_ID соответствует одному job_title, это hr-схема в oracle, если вы заинтересованы).

Я хочу, чтобы запрос возвращался: job_title, job_ID и число людей, у которых есть тот же job_Id.

Я попробовал следующий код:

select j.job_title, e.job_ID, count(e.job_ID)
from employees e, jobs j
where e.job_id=j.job_id
group by e.job_Id

сообщение об ошибке:

ORA-00979: не выражение GROUP BY 00979. 00000 - "не выражение GROUP BY" * Причина:
* Действие:
Ошибка в строке: 83 Колонка: 8

Можете ли вы помочь мне исправить это?

Ответ 1

Сообщение об ошибке немного вводит в заблуждение. Когда вы select куча полей и агрегата, вы должны group by каждое поле select и только поля select. Таким образом, ваш запрос должен быть:

select j.job_title, e.job_ID, count(e.job_ID)
from employees e, jobs j
where e.job_id=j.job_id
group by e.job_Id, j.jobtitle