Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / выбор записей / 11 сообщений из 11, страница 1 из 1
06.09.2007, 13:56
    #34781204
Rastafarra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор записей
день добрый.

есть таблица вида

------
1 | 80
1 | 70
1 | 10
2 | -
1 | 20
1 | 7
2 | -
...
------

хочется получить такую штуку
------
1 | 160
2 | -
1 | 27
2 | -
------

т.е. по группам до первого разделителя выбрать сумму группы и ее идентификатор.

такой запрос можно сделать без цикла?
...
Рейтинг: 0 / 0
06.09.2007, 14:25
    #34781417
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор записей
строки в таблице БД не упорядочены

это одна и та же таблица: ------
1 | 80
1 | 70
1 | 10
2 | -
1 | 20
1 | 7
2 | -
...
------ ------
1 | 80
1 | 70
1 | 10
1 | 20
1 | 7
2 | -
2 | -
...
------
желаемый вами результат не определен однозначно
...
Рейтинг: 0 / 0
06.09.2007, 14:34
    #34781474
Rastafarra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор записей
если будет такой вариант
автор------
1 | 80
1 | 70
1 | 10
1 | 20
1 | 7
2 | -
2 | -
...

значит надо вернуть
автор1 | 187
2 | -

задача в том, чтобы разбить группы и по ним посчитать сумму. проблема в том, что группы не делятся по типу, например 1, 2, 3 и т.д., а делятся по раздилителю: 1111 2 11111111 2 11 ... ( <--тут 3 группы)
...
Рейтинг: 0 / 0
06.09.2007, 14:41
    #34781519
Dan Black
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор записей
Как уже писал LeXa NalBat , задача в свете реляционной теории не имеет права на существование.
Уточните условия, пожалуйста.
Код: plaintext
1.
----------------------------
 Verba volent, scripta manent 
...
Рейтинг: 0 / 0
06.09.2007, 14:53
    #34781580
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор записей
2 Rastafarra:

после выполнения команд

Код: plaintext
1.
2.
3.
create table t1 ( id integer );
insert into t1 ( id ) values (  1  );
insert into t1 ( id ) values (  2  );
insert into t1 ( id ) values (  3  );

что должен вернуть постгрес по запросу "select id from t1"?

Код: plaintext
1.
2.
 1 
 2 
 3 
Код: plaintext
1.
2.
 3 
 2 
 1 
Код: plaintext
1.
2.
 1 
 3 
 2 
...
Рейтинг: 0 / 0
06.09.2007, 15:01
    #34781615
Rastafarra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор записей
есть некий запрос который возвращает данные именно вот так:
например: SELECT c1,c2 FROM t1 ORDER BY c3
------
1 | 80
1 | 70
1 | 10
2 | -
1 | 20
1 | 7
2 | -
...
------
надо как-то сделать над вышеупомянутым ВЛОЖЕННЫМ запросом получить данные:
------
1 | 160
2 | -
1 | 27
2 | -
------

как вариант первоначальную табличку можно взять примерно так:
------
1 | 1 | 80
2 | 1 | 70
3 | 1 | 10
4 | 2 | -
5 | 1 | 20
6 | 1 | 7
7 | 2 | -
...
------
...
Рейтинг: 0 / 0
06.09.2007, 15:36
    #34781784
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор записей
imho, проще функцией на plpgsql

PS: таблица и запрос - разные вещи, поэтому возникло недопонимание
...
Рейтинг: 0 / 0
06.09.2007, 15:39
    #34781803
Rastafarra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор записей
это понятно :)

изначальный вопрос: "такой запрос можно сделать без цикла?"
...
Рейтинг: 0 / 0
06.09.2007, 16:10
    #34781954
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор записей
Rastafarraэто понятно :)

изначальный вопрос: "такой запрос можно сделать без цикла?"средствами sql? наверное можно. но сложно. очень сложно. :)
...
Рейтинг: 0 / 0
06.09.2007, 16:30
    #34782048
_Андрей_М
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор записей
Если ещё не поздно, я бы поменял структуру базы и завёл поле идентификатора групп, а по нему Sum() ... GROUP BY
...
Рейтинг: 0 / 0
06.09.2007, 17:15
    #34782253
Rastafarra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор записей
увы, уже поздно.

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


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