1 / 1 / 0
Регистрация: 17.04.2007
Сообщений: 8
1

Вывести среднюю и максимальную зарплату, и имя работника, получившего максимальную

22.04.2007, 16:20. Показов 6511. Ответов 4
Метки нет (Все метки)

Таблица сосотоит из трех столбцов: month, name и money.
Надо вывести среднею зарплату, максимальную и имя работника,
получившего макс. зарплату за каждый месяц.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.04.2007, 16:20
Ответы с готовыми решениями:

Списки, вывести максимальную зарплату
Прога не работает где я допустил ошибку? DOMAINS List=integer* Staj, Zarplata = integer. Name...

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

Вывести идентификатор работника, имя и среднемесячную зарплату для всех элементов списка
Доброго времени суток! Есть такая задача: Построить три класса (базовый и 2 наследника),...

Определить среднюю зарплату работника
Цех по ремонту бытовой техники имеет каждый день прибыль Р,с которой платит налог a%. с части...

4
0 / 2 / 3
Регистрация: 27.03.2012
22.04.2007, 18:41 2
Без учета времени только, но сам разберешься:
SQL
1
2
3
4
5
6
SELECT m.maxsalary, a.avgsalary, i.name FROM
(SELECT MAX(money) AS maxsalary FROM table1) m,
(SELECT avg(money) AS avgsalary FROM table1) a,
table1 i
WHERE i.money=m.maxsalary
GROUP BY m.maxsalary, i.name, a.avgsalary
если таковых работников (с одинаковой максимальной зарплатой) будет несколько, то и запрос вернет несколько строк
0
3 / 3 / 0
Регистрация: 15.03.2007
Сообщений: 63
23.04.2007, 13:30 3
Можно немного проще и быстрее, плюс учет месяцев
SQL
1
2
3
4
5
6
7
SELECT i.month, m.maxsalary, m.avgsalary, i.name FROM
(SELECT MAX(money) AS maxsalary, avg(money) AS avgsalary, MONTH FROM table1 GROUP BY MONTH) m,
table1 i
WHERE 
i.money = m.maxsalary
AND i.month = m.month
ORDER BY i.month,  i.name
0
1 / 1 / 0
Регистрация: 17.04.2007
Сообщений: 8
23.04.2007, 17:54  [ТС] 4
Спасибо за ответы. Но еще одно уточнение, а как сделать, чтобы для каждого месяца выводилась всего одна строка, даже если несколько работников с макс. зарплатой?
0
3 / 3 / 0
Регистрация: 15.03.2007
Сообщений: 63
23.04.2007, 18:26 5
Это несколько усложняет дело, но на SQL Server должно проходить
T-SQL
1
2
3
4
5
6
7
8
9
10
11
select i.month, m.maxsalary, m.avgsalary, i.name from
(select max(money) as maxsalary, avg(money) as avgsalary, month from table1 group by month) m,
table1 i
where 
i.money = m.maxsalary
and i.month = m.month
and i.name = (select max(t.name) from table1 t
where
i.money = t.money
and i.month = t.month)
order by i.month, i.name
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.04.2007, 18:26
Помогаю со студенческими работами здесь

Найти минимальную и максимальную зарплату
Помогите решить.. вот задание. входные данные В первой строке входного файла INPUT.TXT задано...

Найти максимальную оценку студента и вывести его ID потом фамилию и максимальную оценку
Здравствуйте! Мне нужно найти максимальную оценку студента и вывести его ID потом фамилию и макс...

Определить максимальную, среднюю и минимальную температуры
Решите задачу через CASE... Задана некоторая шкала температур. Определить максимальную, среднюю и...

Найти максимальную, минимальную и среднюю температуру воздуха
Массив а1,...,а24 содержит данные измерения температуры воздуха в течение дня. Найти максимальную,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru