Есть таблица:
SalaryChanges (number int (11) not null,
salary float(11) not null,
dTime timestamp not null,
id int (11) not null)
Где:
Вопрос: Как получить ID тех работников, зарплата которых увеличилась с 2016 по 2017 год? (зарплата может меняться несколько раз и может меняться в отрицательную сторону)
Тут можно толковать задачу: 2мя способами:
Интересуют оба варианта решения, но №2. предпочтительнее.
Задание недоопределено. Если его понимать, например, так: найти тех, у кого есть данные за оба года, и максимальная зарплата в 2017 году была выше, чем максимальная зарплата в 2016 году, то запрос может быть таким:
SELECT t1.id
FROM ( SELECT id, MAX(salary) salary2017
FROM SalaryChanges
WHERE YEAR(dTime) = 2017
GROUP BY id
) t1,
( SELECT id, MAX(salary) salary2016
FROM SalaryChanges
WHERE YEAR(dTime) = 2016
GROUP BY id
) t2
WHERE t1.id = t2.id
AND t1.salary2017 > t2.salary2016
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Подскажите пожалуйста как удалить из таблицы на 1,5 миллиона строк, строки где встречается в поле "category" = 'Рубрики'В поиске phpMyAdmin выдаёт 15 строк,...