mysql - разбивать на группы группы записей, а не сами записи - PullRequest
1 голос
/ 02 апреля 2020

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

Дело в том, что я не хочу, например, получить первые 5 записей, но я хочу, чтобы все записи первых 5 групп были удалены, но записи и группы могут быть удалены, отсортированы в любом порядке или отфильтрованы, чтобы я мог не используйте столбцы идентификатора или идентификатора группы для определения от , какой идентификатор до , какой идентификатор я хочу разбить на страницы)

ID - Group (FK) - value
------------------------
1  - 1          - a 
2  - 1          - b
3  - 2          - c
4  - 2          - d
5  - 3          - e
6  - 2          - f
8  - 3          - g
9  - 2          - h
10 - 5          - i
11 - 5          - j

Поэтому, когда я хочу получить, например, вторая страница и первые 2 группы должны возвращаться:

ID - Group (FK) - value
------------------------
5  - 3          - e
8  - 3          - g
10 - 5          - i
11 - 5          - j

или первая страница из 3 групп

ID - Group (FK) - value
------------------------
1  - 1          - a 
2  - 1          - b
3  - 2          - c
4  - 2          - d
5  - 3          - e
6  - 2          - f
8  - 3          - g
9  - 2          - h

или вторая страница из 3 групп

ID - Group (FK) - value
------------------------
10 - 5          - i
11 - 5          - j

Но когда таблица отсортирована, например:

ID - Group (FK) - value
------------------------
3  - 2          - c
4  - 2          - d
10 - 5          - i
11 - 5          - j
5  - 3          - e
1  - 1          - a 
2  - 1          - b
6  - 2          - f
8  - 3          - g
9  - 2          - h

Теперь я хочу, чтобы первые 2 группы страницы 1 вернули

ID - Group (FK) - value
------------------------
3  - 2          - c
4  - 2          - d
10 - 5          - i
11 - 5          - j
6  - 2          - f
9  - 2          - h
...