powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / выборка с датой
6 сообщений из 6, страница 1 из 1
выборка с датой
    #32802919
ynkulbyh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть таблица tbl

id | date | val
0 01 1
1 01 2
2 02 3
3 02 4
4 03 5
5 05 6

хочу вывести выборку по датам, например с 02 по 05 так, что бы просуммировать val для всех дат меньше выбанных.

те.
для 02 значения val это 1 2
для 03 значения val это 1 2 3 4
для 05 значения val это 1 2 3 4 5

нужен результат. как решить одним запросом????


пытаюсь сделать вот так, а не получается:

select t1.id, t1.date, sum( t2.val )
from tbl t1, tbl t2
where
t1.id = t2.id and t1.date > t2.date
and t1.date > 01
and t1.date < 06
group by t1.id, t1.date
...
Рейтинг: 0 / 0
выборка с датой
    #32804803
Alevtin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не совсем понял, что ты хочешь сделать, но что именно не получается у тебя? Ругается на ошибку или не те данные. Покажи тогда пример второй таблицы и определи правила связи двух таблиц. А то в таком виде не очень понятно.
...
Рейтинг: 0 / 0
выборка с датой
    #32812996
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ynkulbyhесть таблица tbl

id | date | val
0 01 1
1 01 2
2 02 3
3 02 4
4 03 5
5 05 6

хочу вывести выборку по датам, например с 02 по 05 так, что бы просуммировать val для всех дат меньше выбанных.

те.
для 02 значения val это 1 2
для 03 значения val это 1 2 3 4
для 05 значения val это 1 2 3 4 5

нужен результат. как решить одним запросом????


пытаюсь сделать вот так, а не получается:

select t1.id, t1.date, sum( t2.val )
from tbl t1, tbl t2
where
t1.id = t2.id and t1.date > t2.date
and t1.date > 01
and t1.date < 06
group by t1.id, t1.date


Ну приблизительно так

select
date,
(select sum(val) from tbl a
where a.date > b.date )
from tbl b
order by date


С уважением .
P.S. Да здарвствует Великая Ноябрьская Оранжевая Революция!!!!!
...
Рейтинг: 0 / 0
выборка с датой
    #32815032
vybegallo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pochemu by ne proverit' pered publikaciej ?

create database z1;
create table tbl (date int, val int);
insert into tbl values (1, 1);
insert into tbl values (1, 2);
insert into tbl values (2, 3);
insert into tbl values (2, 4);
insert into tbl values (3, 5);
insert into tbl values (5, 6);


select
date,
(select sum(val) from tbl a
where a.date > b.date )
from tbl b
order by date

date (expression)

1 18
1 18
2 15
3 11
4 6
5

Eto kak-to daleko ot zhelaemogo rezul'tata
2 1
2 2
3 1
3 2
3 3
3 4
5 1
5 2
5 3
5 4
5 5
...
Рейтинг: 0 / 0
выборка с датой
    #32816131
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я ошибся нужно было "<" у меня больше ">"
Человеку свойственно ошибаться
Прошу прощения.

В этом случае
Код: plaintext
1.
2.
3.
4.
5.
6.
select
date,
(select sum(val) from tbl a
where a.date < b.date )
from tbl b
order by date
я исходил из

автор
хочу вывести выборку по датам, например с 02 по 05 так, что бы просуммировать val для всех дат меньше выбанных.

что касается требуемого решения,
пожалуйста:

Код: plaintext
1.
2.
3.
select  distinct a.date, b.val
from tbl a  inner  join tbl b on a.date>b.date
order by  1 , 2 

to vybegallo

Если Ваше сообщение касается меня лично, в будущем
можете писать на английском,
для меня и думаю для вас это будет более удобно нежели транслитом.


с уважением, onstat

ps Оранжевая революция победит!!!!!
...
Рейтинг: 0 / 0
выборка с датой
    #32817143
vybegallo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Исходя из наличия ключевого поля и соответственно возможности иметь несколько записей с одинаковыми датой и значением val, я бы сказал, что distinct надо добавить в суммирующий селект:
select distinct
date,
(select sum(val) from tbl a
where a.date < b.date )
from tbl b
order by date

выборочный селект работать не будет :

delete from tbl where 1=1;
insert into tbl values (1, 1);
insert into tbl values (1, 2);
insert into tbl values (2, 3);
insert into tbl values (2, 3); -- !!!
insert into tbl values (2, 4);
insert into tbl values (3, 5);
insert into tbl values (5, 6);

без distinct :
select a.date, b.val
from tbl a inner join tbl b on a.date>b.date
order by 1,2
date val

2 1
2 1
2 1
2 2
2 2
2 2
3 1
3 2
3 3
3 3
3 4
5 1
5 2
5 3


получается куча лишних значений.

с distinct - пропущено одна пара 3 2 :

select distinct a.date, b.val
from tbl a inner join tbl b on a.date>b.date
order by 1,2


date val

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


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