N-я зарплата в sql
как я могу получить зарплату N-й высоты в sql server, может ли кто-нибудь знать, помогите мне......
Здесь вы идете: SQL SERVER-найти N-ю самую высокую зарплату сотрудника-запрос для получения N-го максимального значения[^]
Как здесь помогает ранг?
Это должен быть простой вложенный запрос с вершиной. Верно?
Нравится
ВЫБЕРИТЕ * ИЗ (
ВЫБЕРИТЕ КОД, СУММУ, АМТ,
RANK () OVER (PARTITION BY CODE ORDER BY AMOUNT) AS MYRANK
ОТ CBJDETAIL
) В КАЧЕСТВЕ
ГДЕ MYRANK = 4
Но как это дает мне N-ю самую высокую зарплату?
Я хочу, чтобы 7-я самая высокая зарплата с именами сотрудников могла быть... Ранг не делает ничего, связанного с этим. Данные хранятся в любом порядке.
Простой,
СОЗДАТЬ ТАБЛИЦУ ЗАРПЛАТА (EMPCODE VARCHAR(10), ЗАРПЛАТА ДЕНЬГИ)
Вставить в значения заработной платы ('A1', 15000)
Вставить в значения заработной платы ('A2', 20000)
Вставить в значения заработной платы ('A3', 25000)
Вставить в значения заработной платы ('A4', 30000)
Вставить в значения заработной платы ('A5', 35000)
ВЫБЕРИТЕ * ИЗ (
ВЫБЕРИТЕ EMPCODE, ЗАРПЛАТА,
RANK () OVER (ORDER BY SALARY DESC) AS MYRANK
ОТ ЗАРПЛАТЫ
) В КАЧЕСТВЕ
ГДЕ MYRANK = 4
Это принесет 4-ю самую высокую зарплату.
не надо этого. Пожалуйста, ответьте, если это так.
Хм, интересно. Обязательно загляну в его рабочую форму и обновлю вас. :)