Zwraca wartość typu wariant (ciąg) wskazującą miejsce wystąpienia liczby w obliczonej serii zakresów.
Składnia
Partition( number, start, stop, interval)
W składni funkcji Partycja występują następujące argumenty:
Argument |
Opis |
numer |
Argument wymagany. Liczba całkowita, która ma zostać obliczona względem zakresów. |
rozpoczynanie |
Argument wymagany. Liczba całkowita będąca początkiem ogólnego zakresu liczb. Liczba nie może być mniejsza niż 0. |
zatrzymaj |
Argument wymagany. Liczba całkowita będąca końcem ogólnego zakresu liczb. Liczba nie może być równa lub mniejsza niż wartość początkowa. |
interval |
Argument wymagany. Liczba całkowita określająca rozmiar partycji w ogólnym zakresie liczb (od początku do początku). |
Uwagi
Funkcja Partycja identyfikuje określony zakres, w którym liczba spada, i zwraca wartość typu wariant (ciąg) opisującą ten zakres. Funkcja Partycja jest najbardziej przydatna w zapytaniach. Możesz utworzyć zapytanie wybierające pokazujące, ile zamówień należy do różnych zakresów, na przykład od 1 do 1000, od 1001 do 2000 itd.
W poniższej tabeli przedstawiono sposób określania zakresów przy użyciu trzech zestawów argumentów rozpoczęcia, zatrzymania i interwału . Kolumny Pierwszy zakres i Ostatni zakres pokazują, co zwraca funkcja Partycja . Zakresy są reprezentowane przez wartość dolną:wartość_wyższej, gdzie dolny koniec (niższa wartość) zakresu jest oddzielony od wartości górnej (górnej) zakresu dwukropkiem (:).
rozpoczynanie |
zatrzymaj |
interval |
Przed pierwszym |
Pierwszy zakres |
Ostatni zakres |
Po ostatnim |
0 |
99 |
5 |
" :-1" |
" 0: 4" |
" 95: 99" |
" 100: " |
20 |
199 |
10 |
" : 19" |
" 20: 29" |
" 190: 199" |
" 200: " |
100 |
1010 |
20 |
" : 99" |
" 100: 119" |
" 1000: 1010" |
" 1011: " |
W przedstawionej powyżej tabeli trzeci wiersz przedstawia wynik po rozpoczęciu i zatrzymaniu definiowania zestawu liczb, których nie można równomiernie podzielić przez interwał. Ostatni zakres rozciąga się, aby zatrzymać (11 liczb), mimo że interwał wynosi 20.
W razie potrzeby funkcja Partycja zwraca zakres zawierający wystarczającą liczbę spacji wiodących, dzięki czemu z lewej i z prawej strony dwukropka jest taka sama liczba znaków, jak znaki w kolumnie stop, plus jeden. Dzięki temu w przypadku używania funkcji Partycja z innymi liczbami podczas kolejnych operacji sortowania tekst wyniku będzie obsługiwany poprawnie.
Jeśli argument interwał ma wartość 1, zakres to liczba:liczba, niezależnie od argumentów początku i zatrzymania . Jeśli na przykład interwał wynosi 1, liczba to 100, a argument "stop " to 1000, funkcja Partycja zwraca wartość " 100: 100".
Jeśli którakolwiek z tych części ma wartość Null, funkcja Partycja zwraca wartość Null.
Przykłady zapytań
Expression |
Wyniki |
SELECT Partition(cena_jednostkowa;40;240;20) AS PriceRange, count(productsales.unitprice) AS Count FROM productSales GROUP BY Partition(unitprice,40,240,20); |
Tworzy zestaw zakresów dla wartości w polu "cena_jednostkowa" od "start"(40) do "stop"(240) o jednakowym rozmiarze "interwał"(20) i oblicza liczbę "cenajedna" w odpowiednich zakresach. Wyświetla zakresy w kolumnie PriceRange i liczebniki w kolumnie "Liczba". |
Przykład języka VBA
W tym przykładzie założono, że masz tabelę Zamówienia zawierającą pole Fracht. Tworzy procedurę wyboru, która zlicza zamówienia, dla których koszt frachtu spada w każdym z kilku zakresów. Funkcja Partycja służy najpierw do ustalania tych zakresów, a następnie funkcja SQL Count zlicza liczbę zamówień w każdym zakresie. W tym przykładzie argumenty funkcji Partycja są następujące: start = 0, stop = 500, interwał = 50. Pierwszy zakres to zatem 0:49 i tak dalej do 500.
SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range,
Count(Orders.Freight) AS Count FROM Orders GROUP BY Partition([freight],0,500,50);