Общее количество сотрудников: 10SQL запрос обновления рейтинга на основе процентного распределения
Рейтинг Распределить: O, E, G
Процент выделяемого для каждого ранга: 20%, 40% , 40%
(пример:
1. total emp * 20/100
select 10 * 20./100 = 2
First 2 employees rank to be 'O'
2. balance emp count * 40./100
select 8 * 40./100 = 3
Next 3 employees Rank to be 'E'
3. Balance 5 Employees Rank to be 'G'
Мы должны выделяемой ранг от порядка сотрудников по убыванию оценка
Create Table Ranking(Rank nvarchar,percentage int)
insert into Ranking values('O',20)
insert into Ranking values('E',40)
insert into Ranking values('G',40)
Create Table Emp(Empcode nvarchar(3),Score numeric,Ranking nvarchar)
insert into Emp values('E1',97,null)
insert into Emp values('E2',95,null)
insert into Emp values('E3',87,null)
insert into Emp Values('E4',85,null)
insert into Emp Values('E5',78,null)
insert into Emp Values('E6',75,null)
insert into Emp Values('E7',68,null)
insert into Emp Values('E8',65,null)
insert into Emp Values('E9',59,null)
insert into Emp Values('E10',58,null)
рейтинг должен быть allcoated на основе процентной доли имеющихся в таблице Рейтинг
Теперь E1 и E2 сотрудники попадают в ранг «O» E3, E4, сотрудники E5 попадают в ранг «E» E6 , E7, E8, E9, E10 попадают в разряд 'G'
Не знаете, что вы здесь задаете. Кроме того, вы можете редактировать сообщение и форматировать код с помощью кнопки формата кода. Благодарю. – 2010-12-03 10:54:34
Это не рейтинг сотрудников на 20%, 40%, 40%, потому что ваш второй расчет занимает 40% оставшихся 80%. Чистый раскол 20/40/40, очевидно, разделил бы сотрудников на 2/4/4 группы. – 2010-12-03 11:25:36
, вы имеете в виду, что я сразу обновляю ранг для первых 2 сотрудников как «O» – Girija 2010-12-03 12:03:41