Представьте себе данные этой таблицы, упорядоченные по названию страны:
CustomerID Country
12 Argentina
54 Argentina
20 Austria
59 Austria
50 Belgium
76 Belgium
77 Belgium
15 Brazil
21 Brazil
31 Brazil
34 Brazil
88 Brazil
10 Canada
42 Canada
51 Canada
73 Denmark
74 France
84 France
85 France
1 Germany
6 Germany
17 Germany
37 Ireland
27 Italy
49 Italy
66 Italy
2 Mexico
3 Mexico
Как я могу разбить его на страницы не более чем на 10 (есть исключения), не возвращая при этом страницы, вырезанные в середине групп стран. Вот ожидаемый результат
переменная со страницей = 1 возвращает
12 Argentina
54 Argentina
20 Austria
59 Austria
50 Belgium
76 Belgium
77 Belgium
переменная с page = 2 возвращает
15 Brazil
21 Brazil
31 Brazil
34 Brazil
88 Brazil
10 Canada
42 Canada
51 Canada
73 Denmark
переменная со страницей = 3 возвращает
74 France
84 France
85 France
1 Germany
6 Germany
17 Germany
37 Ireland
переменная со страницей = 4 возвращает
27 Italy
49 Italy
66 Italy
2 Mexico
3 Mexico
Исключением является ограничение в 10, если в одной и той же стране более 10 строк.
Я попробовал пару вещей с ограничением и смещением, но все еще не нашел ни одного простого / чистого запроса Я делаю это для чанкинга. Буду признателен за любую оказанную помощь. Вы можете поиграть с данными ЗДЕСЬ!