«Гибкий» лимит MySQL - PullRequest
       8

«Гибкий» лимит MySQL

2 голосов
/ 19 января 2012

У меня есть таблица mysql с комментариями.Комментарии могут иметь подкомментарии, но только на один уровень ниже (есть необязательный атрибут 'parent', и родительский элемент комментария не может иметь собственного родительского элемента).Я хочу разбить на страницы такие данные, например:

Возьмите первые, скажем, 10 комментариев верхнего уровня (со смещением страницы), а также их подкомментарии, где они доступны.

очевидное решение - получить 10 комментариев, а затем их подкомментарии с предложением IN, но я чувствую, что это неправильный способ сделать это (или, по крайней мере, есть лучший способ).

Есть ли лучший способ добиться этого?

1 Ответ

0 голосов
/ 20 января 2012

Я думаю, что подзапрос IN, вероятно, будет вашим лучшим выбором:

SELECT whatever FROM comments_table c
WHERE c.id IN (SELECT id FROM comments_table c2 WHERE some_criteria_here LIMIT 10)
OR c.parent_id IN (SELECT id FROM comments_table c2 WHERE some_criteria_here LIMIT 10)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...