Как получить количество строк, которые были бы возвращены? - PullRequest
1 голос
/ 16 июля 2010

В следующем запросе:

SELECT column1,column2 FROM table1 ORDER BY column1 LIMIT 0,30

Как узнать, сколько строк было бы возвращено, если бы не LIMIT?

Редактировать: Я ищу способ включить это в запрос выше, а не делать отдельный запрос.(Если возможно.)

Ответы [ 2 ]

3 голосов
/ 16 июля 2010
SELECT COUNT(*) FROM table1;
0 голосов
/ 16 июля 2010

Если вы выполните этот запрос:

 SELECT SQL_CALC_FOUND_ROWS column1,column2 FROM table1 ORDER BY column1 LIMIT 0,30;

Вы можете получить количество строк, найденных предыдущим SELECT с помощью

select FOUND_ROWS();

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

 SELECT column1,column2,s.total FROM table1,
    (select count(*) as total from table1) s 
 ORDER BY column1 LIMIT 0,30;
...