Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.fds-net.ru/showflat.php?Number=7745923&src=arc&showlite=
Дата изменения: Unknown
Дата индексирования: Tue Apr 12 16:09:17 2016
Кодировка: Windows-1251
[psql] Есть ли хаки чтобы вытаскивать id соответствующий max(val)? - Public forum of MSU united student networks
Root | Google | Yandex | Mail.ru | Kommersant | Afisha | LAN Support
  
Technical >> Development (Archive)

Страницы: 1
krendelkandidat nauk

Рег.: 20.10.2003
Сообщений: 14379
Рейтинг: 10274
  [psql] Есть ли хаки чтобы вытаскивать id соответствующий max(val)?
      24.07.2008 16:58
-1

то есть есть таблица

create table (id , ref_id, value)

хочется иметь на выходе

select id /* соответствующий ряду с выбранным max(value)*/, max(value) from table group by ref_id

вроде задача - дикий боян, но ничего путного найти не получилось.


ЗЫ
способы с джойнами и субселектами не предлагать - и сам так умею

alcogolic
anonymous

Рег.: 01.06.2005
Сообщений: 1678
Рейтинг: 2108
  Re: [psql] Есть ли хаки чтобы вытаскивать id соответствующий max(val)? [re: krendel]
      24.07.2008 17:07
1

А если строчек с таковым value несколько? Что тогда ты хочешь получить?



'НИКАКИХ КРЫЛЬЕВ НЕТ. ПРОСТО УМИРАЕШЬ И ВСЕ' Гусеница
Yorik

Рег.: 01.09.2005
Сообщений: 2476
Из: Москва
Рейтинг: 633
  Re: [psql] Есть ли хаки чтобы вытаскивать id соответствующий max(val)? [re: krendel]
      24.07.2008 17:24
 

нету.

maloi
Зануда

Рег.: 09.05.2006
Сообщений: 6506
Из: $(pwd)
Рейтинг: 2880
  Re: [psql] Есть ли хаки чтобы вытаскивать id соответствующий max(val)? [re: alcogolic]
      24.07.2008 17:26
 

В ответ на:


А если строчек с таковым value несколько? Что тогда ты хочешь получить?


таблицу с ними?



Помни: убив анимешника, ты повышаешь скорость сети на 5%
DarkGrayМодератор
Carpal Tunnel

Рег.: 30.09.2002
Сообщений: 31411
Рейтинг: 8952
  Re: [psql] Есть ли хаки чтобы вытаскивать id соответствующий max(val)? [re: krendel]
      24.07.2008 17:32
 

база какая?

ps
кошерное решение - это через аналитические функции (но их должна база держать)

alcogolic
anonymous

Рег.: 01.06.2005
Сообщений: 1678
Рейтинг: 2108
  Re: [psql] Есть ли хаки чтобы вытаскивать id соответствующий max(val)? [re: maloi]
      24.07.2008 17:34
1

А что дальше с ними делать? Я не думаю, что это таблица представляет какой-либо интерес сама по себе.

Здесь варианта два, на мой взгляд. Либо эти записи как-то обрабатываются, тогда логичнее будет написать что-то типа
code:
selec max(value) to max_value from table update table set ...=... where value=%max_value%


Либо подразумевается, что такая запись гарантированно одна. Но тогда, какая принципиальная разница между id и value? При создании уникального индекса по value скорость работы запросов с join-ами будет ровно такой же.



'НИКАКИХ КРЫЛЬЕВ НЕТ. ПРОСТО УМИРАЕШЬ И ВСЕ' Гусеница
Storm
:)

Рег.: 09.09.2004
Сообщений: 3301
Из: hane.ru
Рейтинг: 132
  Re: [psql] Есть ли хаки чтобы вытаскивать id соответствующий max(val)? [re: krendel]
      24.07.2008 18:31
2


 боян




Ecchi nano wa ikenai to omoimasu!
==Media.Anime==
krendelkandidat nauk

Рег.: 20.10.2003
Сообщений: 14379
Рейтинг: 10274
  Re: [psql] Есть ли хаки чтобы вытаскивать id соответствующий max(val)? [re: DarkGray]
      24.07.2008 22:40
 

база portgreslq,
нужных аналитических функций не нашел, зато нашел вот что:
User-Defined Aggregates.
адская штука и если будет желание, можно сделать то, что надо.

krendelkandidat nauk

Рег.: 20.10.2003
Сообщений: 14379
Рейтинг: 10274
  Re: [psql] Есть ли хаки чтобы вытаскивать id соответствующий max(val)? [re: alcogolic]
      24.07.2008 22:43
 

В ответ на:


Либо подразумевается, что такая запись гарантированно одна. Но тогда, какая принципиальная разница между id и value? При создании уникального индекса по value скорость работы запросов с join-ами будет ровно такой же.





value естественно не уникальны.
ключ и именно он нужен, чтобы потом по нему отсортировать.

в идеале подразумевается, что берется минимальный, если с одним и темже value их несколько
( но в принципе на это условие забить).

krendelkandidat nauk

Рег.: 20.10.2003
Сообщений: 14379
Рейтинг: 10274
  Re: [psql] Есть ли хаки чтобы вытаскивать id соответствующий max(val)? [re: Storm]
      24.07.2008 22:45
 

спасибо, не видел такого. там даже есть подходящее решение, но работает только под оракл.

да, на всякий случай, чтобы камнями не кидали - в заголовке указана база )

Kraft
Carpal Tunnel

Рег.: 09.12.2002
Сообщений: 3704
Рейтинг: 1427
  Re: [psql] Есть ли хаки чтобы вытаскивать id соответствующий max(val)? [re: Storm]
      25.07.2008 11:31
 

Я, типа, не шарю особо, но мне интересно - может кто-нибудь аргументировать почему так нельзя:
code:
select value, a, b, c from t where value = (select max(value) from t)

ы?



Пароль, чтобы не забыть (без кавычек): 'lEujoDUp3xoq'
Yorik

Рег.: 01.09.2005
Сообщений: 2476
Из: Москва
Рейтинг: 633
  Re: [psql] Есть ли хаки чтобы вытаскивать id соответствующий max(val)? [re: Kraft]
      25.07.2008 11:36
 

В ответ на:

ЗЫ
способы с джойнами и субселектами не предлагать - и сам так умею


Может, поэтому?

Storm
:)

Рег.: 09.09.2004
Сообщений: 3301
Из: hane.ru
Рейтинг: 132
  Re: [psql] Есть ли хаки чтобы вытаскивать id соответствующий max(val)? [re: Kraft]
      25.07.2008 13:13
 

А где у тебя группировка?




Ecchi nano wa ikenai to omoimasu!
==Media.Anime==
Страницы: 1

Technical >> Development (Archive)

Дополнительная информация
0 зарегистрированных и 0 анонимных пользователей просматривают этот форум.

Модераторы:  DarkGray 

Печать темы

Права
      Вы можете создавать новые темы
      Вы можете отвечать на сообщения
      HTML отключен
      UBBCode включен

Рейтинг:
Просмотров темы:

Переход в