SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 12.11.2008 16:49:19

alexshelkov
Участник
Зарегистрирован: 12.11.2008
Сообщений: 2

Как подсчитать кол-во строк в результате запроса?

Допустим есть таблица запрос:
test_table:

test_col
1
1
2
5
1
6
1
3
1

Далее есть запрос:
SELECT * FROM test_table WHERE test_col = 1 LIMIT 0, 3;

Можно ли как нибудь посчитать количество строк без учета LIMIT в этом же запросе? Должно получиться 5 строк.

Т.е вместо того чтобы писать:
SELECT count(*) FROM test_table WHERE test_col = 1;
SELECT * FROM test_table WHERE test_col = 1 LIMIT 0, 3;
я хочу сделать это одним запросом.

Неактивен

 

#2 12.11.2008 17:28:47

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Как подсчитать кол-во строк в результате запроса?


SELECT *, (SELECT count(*) FROM test_table WHERE test_col = 1) `col-vo` FROM test_table WHERE test_col = 1 LIMIT 0, 3;
 

Только так.

Неактивен

 

#3 12.11.2008 20:25:21

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Как подсчитать кол-во строк в результате запроса?

vasya, есть втроенный способ.

SELECT SQL_CALC_FOUND_ROWS * FROM test_table WHERE test_col = 1 LIMIT 0, 3;

А затем SELECT FOUND_ROWS();

http://dev.mysql.com/doc/refman/5.0/en/ … found-rows

Неактивен

 

#4 12.11.2008 21:18:23

alexshelkov
Участник
Зарегистрирован: 12.11.2008
Сообщений: 2

Re: Как подсчитать кол-во строк в результате запроса?

rgbeast, спасибо. Именно этот способ я нашел, после того как разместил здесь сообщение smile

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson