Re: аналог mysql'ного SQL_CALC_FOUND_ROWS

Поиск
Список
Период
Сортировка
От Dmitry E. Oboukhov
Тема Re: аналог mysql'ного SQL_CALC_FOUND_ROWS
Дата
Msg-id 20110320102910.GI32682@apache.rbscorp.ru
обсуждение исходный текст
Ответ на Re: аналог mysql'ного SQL_CALC_FOUND_ROWS  ("Andrey N. Oktyabrski" <ano@bestmx.ru>)
Список pgsql-ru-general
>> в MySQL есть такая штука:
>>
>> SELECT
>>     SQL_CALC_FOUND_ROWS
>>     *
>> FROM
>>     table
>> WHERE
>>     somewhere
>> LIMIT
>>     10
>>
>> если указать флаг SQL_CALC_FOUND_ROWS, то при выполнении запроса
>> выполнится так же подсчет количества записей в таблице вообще,
>> соответствующих условию somewhere. которое можно будет потом
>> использовать для вычисления числа страниц в пейджере итп
ANO> Я думаю, это псевдоним count(*) :-)

нет.

SELECT ... LIMIT 10 если нет ORDER BY в общем случае выбирает первые
10 элемнтов удовлетворяющих условию somewhere.

а чтобы получить количество всех элементов, надо просмотреть всю
таблицу без лимита.

то есть указанный запрос есть алиас двух запросов:

SELECT * FROM table WHERE somewhere LIMIT 10
SELECT COUNT(*) FROM table WHERE somewhere

только выполняются они в один проход

>> есть ли в Pg какой-то аналогичный механизм?
ANO> Есть ли в этом какой-то смысл?

ну если мы какую-то таблицу показываем пользователю в виде разбиения
на страницы, то смысл прямой: надо ему показывать и сколько страниц
есть и содержимое конкретной страницы

ANO> Любая библиотека предоставляет эту информацию после выполнения запроса.

а можно подробнее?
--

. ''`.                               Dmitry E. Oboukhov
: :’  :   email: unera@debian.org jabber://UNera@uvw.ru
`. `~’              GPGKey: 1024D / F8E26537 2006-11-21
  `- 1B23 D4F8 8EC0 D902 0555  E438 AB8C 00CF F8E2 6537

Вложения

В списке pgsql-ru-general по дате отправления:

Предыдущее
От: "Andrey N. Oktyabrski"
Дата:
Сообщение: Re: аналог mysql'ного SQL_CALC_FOUND_ROWS
Следующее
От: "Andrey N. Oktyabrski"
Дата:
Сообщение: Re: аналог mysql'ного SQL_CALC_FOUND_ROWS