Я использую Oracle. У меня есть таблица, как:Функция STDDEV и с предложением
Company Employee salary
A1 Jim 122000
...
Я хочу, чтобы вернуть компанию с наибольшим числом сотрудника, чья зарплата превышает 2 стандартных отклонений (~> 95%). Вот мой код
With Com_2Std as (
Select company-name, AVG(salary)+2*STDDEV(salary) as AboveS
From works
Group By company-name)
Select company-name, count(employee-name) as ENumber
From works
Where ENumber=MAX(
Select count(a.employee-name)
From works a, Com_2Std b
Where a.company-name=b.company-name
And a.salary>b.AboveS;
Group by a.company-name)
Group by company-name;
У меня есть два quesions:
(1) Я не могу получить доступ к оракулу сегодня и не может проверить его. Правильно ли мой код?
(2) Это выглядит довольно сложно, чтобы упростить его, пожалуйста?
Нет, вы не можете использовать MAX() таким образом. Я стесняюсь попробовать написать версию Oracle для вас, так как я менее знаком с некоторыми ее особенностями в синтаксисе. – shawnt00