Rupa1 Ответов: 2

N-я зарплата в sql


как я могу получить зарплату N-й высоты в sql server, может ли кто-нибудь знать, помогите мне......

2 Ответов

Рейтинг:
0

Goutam Patra

С помощью Ранг[^]


Sandeep Mewara

Как здесь помогает ранг?

Это должен быть простой вложенный запрос с вершиной. Верно?

Goutam Patra

Нравится
ВЫБЕРИТЕ * ИЗ (
ВЫБЕРИТЕ КОД, СУММУ, АМТ,
RANK () OVER (PARTITION BY CODE ORDER BY AMOUNT) AS MYRANK
ОТ CBJDETAIL
) В КАЧЕСТВЕ
ГДЕ MYRANK = 4

Sandeep Mewara

Но как это дает мне N-ю самую высокую зарплату?

Я хочу, чтобы 7-я самая высокая зарплата с именами сотрудников могла быть... Ранг не делает ничего, связанного с этим. Данные хранятся в любом порядке.

Goutam Patra

Простой,
СОЗДАТЬ ТАБЛИЦУ ЗАРПЛАТА (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-ю самую высокую зарплату.
не надо этого. Пожалуйста, ответьте, если это так.

Sandeep Mewara

Хм, интересно. Обязательно загляну в его рабочую форму и обновлю вас. :)