Подсчитайте, сколько сотрудников изменили свою должность внутри компании, учитывая тот факт, что идентификатор сотрудника остался прежним

#sql

Вопрос:

Как я могу подсчитать, сколько сотрудников изменили свою должность внутри компании, учитывая тот факт, что идентификатор сотрудника остался прежним ?

Комментарии:

1. у вас есть столбец или таблица, в которых указана прежняя должность сотрудника ?

Ответ №1:

Вам просто нужно количество сотрудников, у которых более одной должности. Простой метод использует два уровня агрегирования:

 select count(*)
from (select id
      from t
      group by id
      having min(position) <> max(position)
     ) i
 

Комментарии:

1. Удостоверение личности не является PK ??

2. @BenS . . . Я бы посоветовал вам направить вопрос в ОП. Я бы не знал, за исключением того, что в вопросе четко указано «идентификатор сотрудника остался прежним», и в образцах данных нет другого столбца «идентификатор».

Ответ №2:

вот один из способов :

 select count(*)
from (
select 1 
from table
group by employeeid
having count(*) > 1
) t