Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 07:39 28.06.24 
Клубове/ Компютри и Интернет / Бази данни Всички теми Следваща тема Пълен преглед*
Информация за клуба
Тема за коя база? [re: dzver]
Автор Dakota (erotoman)
Публикувано24.08.05 21:04  



Не разбрах за коя СУБД ти трябва решение.

Eто как може да стане за PostgreSQL:

kouber=# select * from A;

a_id | b_id | c
------+------+----
1 | 1 | 1
2 | 1 | 3
3 | 2 | 2
4 | 3 | 6
5 | 3 | 7
6 | 3 | 8
7 | 3 | -1
8 | 1 | 3
9 | 3 | 8
10 | 2 | 10
(10 rows)


В случая за b_id=1 и b_id=3 имаш по две максимални стойности:
- за b_id=1, c=3 при a_id=2 и a_id=8;
- за b_id=3, ц=8 при a_id=6 и a_id=9.

Което значи, че трябва да решиш тази двусмисленост, като подредиш и по a_id:

kouber=# select distinct on (b_id) * from A order by b_id, c desc, a_id;

a_id | b_id | c
------+------+----
2 | 1 | 3
10 | 2 | 10
6 | 3 | 8
(3 rows)

kouber=# select distinct on (b_id) * from A order by b_id, c desc, a_id desc;
a_id | b_id | c
------+------+----
8 | 1 | 3
10 | 2 | 10
9 | 3 | 8
(3 rows)


Клаузата DISTINCT ON не е стандартна, а е разширение на PostgreSQL, но същият ефект можеш да получиш и с една допълнителна подзаявка или с някакви GROUP BY хватки.

Всъщност опитай и така: select a_id, b_id, max(c) from A group by b_id;, но поне в PostgreSQL не ти дава, точно заради по-горната двусмисленост.

Everything louder than everything else...

Редактирано от Dakota на 24.08.05 21:12.



Цялата тема
ТемаАвторПубликувано
* SQL въпрос - за group dzver   24.08.05 18:36
. * за коя база? Dakota   24.08.05 21:04
. * Re: за коя база? dzver   25.08.05 11:08
. * Re: за коя база? phpGuru   25.08.05 12:43
. * Re: за коя база? phpGuru   25.08.05 12:46
. * Re: за коя база? phpGuru   25.08.05 12:48
. * Re: за коя база? dzver   25.08.05 13:31
. * Re: за коя база? NDeu   25.08.05 13:47
. * вложени заявки Dakota   25.08.05 14:27
. * Re: вложени заявки wqw   25.08.05 14:41
. * Re: вложени заявки dzver   25.08.05 15:12
. * Re: вложени заявки dzver   25.08.05 15:03
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.