Мне нужен способ поместить результаты в число указанных групп.
Я пробовал ntile()
функцию, которую я думал бы использовать, но она не работает:
WITH CTE AS (
SELECT 1 as Number
UNION ALL
SELECT Number+1
FROM CTE
WHERE Number < 100
)
SELECT *, ntile(80) over (order by number desc) as 'test'
FROM CTE
Для ожидаемых результатов в столбце Quartile должно выводиться число для каждых 2 записей (как указано в NTILE(80)
), но это может быть 2, 4, 10 или любое другое число, которое я указываю.
Может быть, NTILE()
не правильная функция, но есть ли функция, которая делает то, что я хочу?
Итак, если я укажу 3, то результат должен группировать каждые 3 записи.Если я укажу 15, то результат должен группировать каждые 15 записей и переходить к следующей группе.
Надеюсь, я проясню