Sobes.tech
Назад к вопросам
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, чтобы получить нужные данные.