Выбор некоторых результатов запроса SQL - PullRequest
0 голосов
/ 04 сентября 2011

Из простого SQL-запроса в MySQL, как я могу получить только 5 первых результатов?
А затем, как я могу получить следующие 5 результатов?

Например (псевдокод):

select * from (select * from some_table) where <first 5 results>
select * from (select * from some_table) where <second 5 results (6-10)>

Ответы [ 2 ]

3 голосов
/ 04 сентября 2011

Вы должны быть в состоянии получить первые 5 результатов с LIMIT 5 в конце вашего утверждения:

SELECT * FROM some_table LIMIT 5;

И тогда вы можете получить результаты 6-10 с запросом, подобным этому:

SELECT * FROM some_table LIMIT 5 OFFSET 5;

В качестве другого примера вы можете получить результаты 6-15 с помощью запроса, подобного следующему:

SELECT * FROM some_table LIMIT 10 OFFSET 5;

Имейте в виду, что если вы не добавите оператор ORDER BY, результаты будут получены в произвольном порядке. Следовательно, на самом деле не имеет смысла использовать LIMIT и OFFSET при отсутствии ORDER BY.

0 голосов
/ 04 сентября 2011

Вы можете сделать это, создав объединение SQL

select * from (select * from some_table) where <first 5 results>
UNION ALL 
select * from (select * from some_table) where <second 5 results (6-10)>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...