2015-08-19 1 views
0

Как использовать функцию ранжирования ntile без указания числа для разделения каждого раздела и вместо этого назначить каждому разделу увеличивающееся число?Как использовать ntile без разделения раздела и приращения каждого ведра на единицу

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

+0

Не очень понятно, что вы после ,,,, некоторые данные образца и желаемый результат помогут много. –

ответ

1

NTILE - не ваша функция. Вы хотите DENSE_RANK.

select DENSE_RANK() over (Order by Col1, Col2...) GroupFlag, 
    * 
from MyTable 

Это дало бы все записи с общими значениями в полях Col1 и Col2 то же число. Целые числа GroupFlag начинаются с 1 и подсчитываются в порядке order by.

Сообщите мне, если вы намеревались спросить что-то еще, и я попробую еще раз.

+0

Спасибо за ваш ответ, что именно я хочу, но могу ли я сделать это без изменения порядка данных @Brian Pressler –

+0

, можете ли вы проверить предыдущий комментарий, если есть способ сделать это. –

+0

Вы можете добавить предложение 'order by' после предложения' from', чтобы заказать записи любым способом, который вам нравится ... это не повлияет на нумерацию 'GroupFlag'. –