Форум программистов, компьютерный форум, киберфорум
Oracle
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 4
1

Найти дату, на которую одновременно работало максимальное количество сотрудников

17.10.2013, 15:02. Показов 1539. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задание -
Найти дату, на которую одновременно работало максимальное количество сотрудников.

Таблица emp
empno char(5), -- код сотрудника
deptno char(3), -- подразделение сотрудника
hire_date date, -- дата приема
fire_date date, -- дата увольнения
firstname varchar2(200), -- имя
lastname varchar2(200), -- фамилия
position varchar2(100), --должность
mgr char(5)); -- руководитель
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.10.2013, 15:02
Ответы с готовыми решениями:

Найти максимальное количество за данную дату (день)
Подскажите пожалуйста как найти читателя, который взял больше книг, чем другие за ДАННУЮ ДАТУ...

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

В одномерном массиве найти максимальное количество четных элементов и максимальное количество нечетных элементов, расположенных рядом
В одномерном массиве найти максимальное количество четных элементов и максимальное количество...

Найти максимальное число в матрице в строке и столбце одновременно
опишите в словах, пожалуйста, программу нахождения макс числа в матрице в строке и столбце...

8
3 / 3 / 0
Регистрация: 04.09.2011
Сообщений: 11
17.10.2013, 15:16 2
Что значит на которую работало?

Если задание заключается в том, чтобы найти дату, когда на работу устроились максимальное количество людей за день, то будет так:

Oracle 11 SQL
1
2
3
SELECT MAX(COUNT(*))
FROM employees
GROUP BY hire_date
0
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 4
17.10.2013, 15:18  [ТС] 3
Цитата Сообщение от serjinho Посмотреть сообщение
Что значит на которую работало?

Если задание заключается в том, чтобы найти дату, когда на работу устроились максимальное количество людей за день, то будет так:

Oracle 11 SQL
1
2
3
SELECT MAX(COUNT(*))
FROM employees
GROUP BY hire_date


Задание в весь период по сегодняшний день
0
3 / 3 / 0
Регистрация: 04.09.2011
Сообщений: 11
17.10.2013, 15:23 4
Oracle 11 SQL
1
2
3
4
5
6
7
8
SELECT hire_date
FROM emp
GROUP BY hire_date
HAVING COUNT(*) = (
  SELECT MAX(COUNT(*))
  FROM employees
  GROUP BY hire_date
)
0
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 4
17.10.2013, 15:26  [ТС] 5
Цитата Сообщение от serjinho Посмотреть сообщение
Oracle 11 SQL
1
2
3
4
5
6
7
8
SELECT hire_date
FROM emp
GROUP BY hire_date
HAVING COUNT(*) = (
  SELECT MAX(COUNT(*))
  FROM employees
  GROUP BY hire_date
)
в результате выводит определенное количество дат, разве не должно выводит одну дату? либо я не правильно понял?
0
3 / 3 / 0
Регистрация: 04.09.2011
Сообщений: 11
17.10.2013, 15:35 6
Если я правильно понял условие, то все верно. У нас могут устроиться на работу в разные дни одинаковое количество сотрудников, и может так оказаться, что их количество может быть максимальным.
1
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
17.10.2013, 15:38 7
SQL
1
2
3
4
5
6
7
8
9
10
11
12
SELECT
  MIN(z.hire_date) KEEP (DENSE_RANK FIRST ORDER BY z.cnt DESC)
FROM
(
  SELECT
    t2.hire_date,
    (SELECT COUNT(*) FROM t t1 WHERE t1.hire_date<=t2.hire_date AND (t1.fire_date > t2.hire_date OR t1.fire_date IS NULL)) cnt
  FROM
    t t2
  GROUP BY
    t2.hire_date
) z
Не проверял, но идея думаю ясна.

Добавлено через 1 минуту
Цитата Сообщение от serjinho Посмотреть сообщение
У нас могут устроиться на работу в разные дни одинаковое количество сотрудников, и может так оказаться, что их количество может быть максимальным.
Они еще увольняются судя по всему.
0
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 4
17.10.2013, 15:39  [ТС] 8
Цитата Сообщение от KuKu Посмотреть сообщение
SQL
1
2
3
4
5
6
7
8
9
10
11
12
SELECT
  MIN(z.hire_date) KEEP (DENSE_RANK FIRST ORDER BY z.cnt DESC)
FROM
(
  SELECT
    t2.hire_date,
    (SELECT COUNT(*) FROM t t1 WHERE t1.hire_date<=t2.hire_date AND (t1.fire_date > t2.hire_date OR t1.fire_date IS NULL)) cnt
  FROM
    t t2
  GROUP BY
    t2.hire_date
) z
Не проверял, но идея думаю ясна.

Добавлено через 1 минуту

Они еще увольняются судя по всему.
что делает ваш селект не разберусь
0
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
17.10.2013, 15:42 9
На каждую дату приема находит число работающих сотрудников. И достает, из этих дат, дату с максимальным числом сотрудников.
0
17.10.2013, 15:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.10.2013, 15:42
Помогаю со студенческими работами здесь

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

Задачи циклического типа. Найти максимальное значение функции, одновременно кратное 2 и 5
б) Решить задачи разветвляющегося типа 1) Дано двухзначное число А. Если цифры, образующие...

Найти промежуток времени, в течение которого в музее одновременно находилось максимальное число посетителей
помогите пожалуйста исправить ошибки в коде: #include &lt;iostream&gt; using namespace std; void...

Задача "Подсчитайте максимальное количество сетей класса В и максимальное количество адресов ком. кл. С
Добрый вечер огромная просьба подскажите пожалуйста по задаче. Вроде же и простая но загнала в...

Unity как сделать чтобы при старте игры работало 2 сцены одновременно. Типо на первой сцене меню и главные скрипты
а на второй сцене сама локация вот пример...

Найти количество информации, которую переносят определенные буквы в тексте(с точностью до тысячных)
3)Имеется следующий текст: Рентабельность является одним из центральных понятий экономики....


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru