Как группировать в фиксированных диапазонах? - PullRequest
0 голосов
/ 15 декабря 2010

Допустим, у меня есть одна таблица с двумя столбцами (student_id, оценка).

student_id - это целое число, а оценка - десятичное число.

Если у меня 1000 студентов и я хочусгруппируйте их по классам в группы по 10 учеников в каждой.

Просто чтобы было ясно, это должно составить 100 групп.Первая группа содержит 10 самых высоких оценок, а последняя группа содержит 10 самых низких оценок.

Как мне это сделать?Оптимизация всегда приветствуется.

Большое спасибо.

Joao

1 Ответ

1 голос
/ 15 декабря 2010

ntile даст рейтинг по количеству сегментов.

select student_id, ntile(100) over (order by grade desc) from student
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...