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 по дате отправления: