Запрос SQL, который будет возвращать доходы нарастающим итогом?
Пожалуйста, помогите, написать запрос, который будет возвращать доходы сотрудников за
год нарастающим итогом в следующем порядке столбцов: EMP_NAME; DEP_NAME; POSITION; PERIOD; RUNNING_SUM (нарастающий итог)
DEPARTMENT (название таблицы)
DEP_ID (PK) DEP_NAME (Not null, unique)
1; Бухгалтерия
2; HR
3; Продажи
EMPLOYER (название таблицы)
EMP_ID; DEP_ID; EMP_NAME; POSITION
1; Добрынин Дмитрий Данилович Директор
2; 1 ; Абрамова Анна Анатольевна Главный бухгалтер
3; 1 ; Богданов Борис Бедросович Бухгалтер
4; 2; Воробьева Вера Викторовна Начальник отдела
5 ; 3; Гаврилова Галина Георгиевна Главный специалист
6 ; 3; Ежов Евгений Егорович Специалист
7 ; 3; Иванов Игорь Ильич Специалист
SALARY (название таблицы)
EMP_ID; PERIOD; AMOUNT
1; 201901; 1000
1; 201902 ; 1300
1 ; 201903 ; 1200
1; 201904 ; 1000
1; 201905; 700
1; 201906 ; 1800
1 ; 201907 ; 1100
Дополнительно:
SUM(..) OVER (.. ORDER BY ..)
Это обязательно, см.п.3.8 Регламента.
Сюда же относится traceback, ввод и вывод в консоли и другая структурированная текстовая инфа.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для того чтобы написать SQL запрос, который будет возвращать доходы нарастающим итогом, мы можем воспользоваться оконной функцией SUM() и функцией накопления (cumulative sum).
Пример запроса SQL для этой задачи может выглядеть следующим образом для таблицы с названием "income" и полями "id" и "amount":
SELECT id, amount, SUM(amount) OVER (ORDER BY id) AS cumulative_income FROM income;
В данном запросе мы выбираем id и amount из таблицы income, а также используем оконную функцию SUM() для вычисления накопленной суммы доходов (cumulative income) по полю amount, упорядочивая результаты по id.
Таким образом, при выполнении данного запроса мы получим таблицу, в которой каждая строка будет содержать id, amount и cumulative_income, который будет представлять собой накопленную сумму доходов на текущем шаге.
Надеюсь, что данная информация поможет вам решить задачу по вычислению доходов нарастающим итогом с использованием SQL запроса. Если у вас возникнут дополнительные вопросы или потребуется дополнительная помощь, не стесняйтесь обращаться!