ntile bez USING partycji tylko podziału zbioru danych w oparciu o numer w ntile (liczby), tak że: jeśli liczba rzędów 7 są, na przykład: 1,1,1,2,3 , 4,5 ntile (3) daje 3,2,2. Jak dostałem 3,2,2 ?. Najpierw przyjmij 7 jako 6 (jeden mniej, aby go wyrównać), 6/3 daje 2,2,2, następnie dodaj +! do pierwszej partycji. Jeśli liczba wierszy jest równa, wtedy nie ma problemu. po prostu podziel zbiór danych:
Ntile używając klauzuli partition, wystarczy podzielić zestaw danych na podstawie wartości w zestawie danych tak, aby: jeśli żaden z wierszy nie wynosił 7, przykładowe wartości wierszy to: 1,1,1,2,3,4, 5 następnie: ntile (3) podzielone przez wartość da: 1,2,3,1,1,1,1. Jak to dostałem ?. Najpierw przerwij zbiór danych na podstawie wartości: tutaj 1,1,1 to jedna strona, następne wszystkie wartości tworzą inną partycję. Następnie zacznij przypisywać stopień ntile każdej partycji. Tutaj 1,1,1 stanie się 1,2,3, a następnie kontynuacją z następną partycją, możesz ciągnąć rangę tylko do liczby określonej w funkcji ntile()
Jeśli robisz NTILE na dużym zestawie, ty może użyć wartości minimalnej górnej ntile (lub maksimum niższej) jako pośrednika dla mediany. Może to być tańsze niż prowadzenie mediany w wielu rzędach. – ouonomos