Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Узнать позицию элемента в выбоке по условию. / 3 сообщений из 3, страница 1 из 1
30.10.2008, 12:11
    #35625142
sourcer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Узнать позицию элемента в выбоке по условию.
Допустим есть таблица

items(id,val1,sort)

как мне узнать его позицию при условии val=1 ORDER BY sort ASC

Тоесть на какой бы позиции находился бы элемент при такой выборке.

Решение есть примерно такое

SELECT COUNT(1) FROM items WHERE val=1 AND sort<значения текущего итема

Тоесть мы делаем COUNT и узнаем сколько перед ним идет итемов в данной выборке... .но COUNT это при больших таблицах будет тормозить и при сложных условиях, а при большой посещаемости вобще все сляжет.

Может есть какое то решение для решения подобной задачи другое, есть идеи как быстрее сделать?
...
Рейтинг: 0 / 0
30.10.2008, 14:22
    #35625571
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Узнать позицию элемента в выбоке по условию.
изначальную задачу сформулируйте пожалуйста, в контексте, с предметной областью.
...
Рейтинг: 0 / 0
30.10.2008, 15:09
    #35625772
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Узнать позицию элемента в выбоке по условию.
sourcer wrote:
> как мне узнать его позицию при условии val=1 ORDER BY sort ASC

выполнить запрос, найти эту строку и посчитать её номер от начала.

> SELECT COUNT(1) FROM items WHERE val=1 AND sort<значения текущего итема
>
> Тоесть мы делаем COUNT и узнаем сколько перед ним идет итемов в данной
> выборке... .но COUNT это при больших таблицах будет тормозить и при

Эта выборка и та, которую ты будешь делать потом - РАЗНЫЕ выборки.

> сложных условиях, а при большой посещаемости вобще все сляжет.
>

Тем более при посещаемости - данные-то меняются.

> Может есть какое то решение для решения подобной задачи другое, есть
> идеи как быстрее сделать?

Этого вообще не нужно делать. Не за чем.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Узнать позицию элемента в выбоке по условию. / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]