Назад к вопросам
Senior
3
Как написать запрос для получения пользователя с предпоследней зарплатой?
Компании, где спрашивали
Магнит Тех
Ответ от нейросети
sobes.tech AI
Чтобы получить пользователя с предпоследней зарплатой, можно использовать SQL-запрос с оконной функцией или подзапросом. Например, если есть таблица salaries с полями user_id и salary_date, salary_amount, можно сделать так:
SELECT user_id, salary_amount
FROM (
SELECT user_id, salary_amount,
ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY salary_date DESC) as rn
FROM salaries
) sub
WHERE rn = 2;
Этот запрос для каждого пользователя выбирает вторую по дате зарплату (предпоследнюю). В Go можно выполнить этот запрос через database/sql или ORM, чтобы получить нужные данные.