Політичний ФОРУМ
ФЗВ. ФУП знає все => Тема розпочата: slp від 14 серпня 2018 12:27:17
-
есть значения
1 408.96
2 -414.63
3 563.94
4 -308.73
5 -246.35
мне надо
step
408.96-414.63
1 408.96 0
2 -414.63 -5.67
step
408.96-414.63+563.94
1 408.96 0
2 -414.63 0
3 563.94 558.27
step
408.96-414.63+563.94-308.73
1 408.96 0
2 -414.63 0
3 563.94 249.54
4 -308.73 0
step
408.96-414.63+563.94-308.73-246.35
1 408.96 0
2 -414.63 0
3 563.94 3.19
4 -308.73 0
5 -246.35 0
те я хочу узнать за какой период остался положительный остаток
желательно одним select
-
пусть лучше sql за пивом сбегает
-
Рекомендую звернутися до фахівця
За відповідну оплату, звісно :)
-
есть значения
1 408.96
2 -414.63
3 563.94
4 -308.73
5 -246.35
мне надо
step
408.96-414.63
1 408.96 0
2 -414.63 -5.67
step
408.96-414.63+563.94
1 408.96 0
2 -414.63 0
3 563.94 558.27
step
408.96-414.63+563.94-308.73
1 408.96 0
2 -414.63 0
3 563.94 249.54
4 -308.73 0
step
408.96-414.63+563.94-308.73-246.35
1 408.96 0
2 -414.63 0
3 563.94 3.19
4 -308.73 0
5 -246.35 0
те я хочу узнать за какой период остался положительный остаток
желательно одним select
що за база ? чи тобі на чистому SQL ?
-
Никакого одного селекта тут не хватит. Нужен WHILE loop.
-
есть значения
1 408.96
2 -414.63
3 563.94
4 -308.73
5 -246.35
мне надо
step
408.96-414.63
1 408.96 0
2 -414.63 -5.67
step
408.96-414.63+563.94
1 408.96 0
2 -414.63 0
3 563.94 558.27
step
408.96-414.63+563.94-308.73
1 408.96 0
2 -414.63 0
3 563.94 249.54
4 -308.73 0
step
408.96-414.63+563.94-308.73-246.35
1 408.96 0
2 -414.63 0
3 563.94 3.19
4 -308.73 0
5 -246.35 0
те я хочу узнать за какой период остался положительный остаток
желательно одним select
що за база ? чи тобі на чистому SQL ?
postgresql
-
є в тебе таблиця table
ID , VALUE
1 408.96
2 -414.63
3 563.94
4 -308.73
5 -246.35
Для постгреса
SELECT
ID,
VALUE,
sum(VALUE) OVER (ORDER BY ID) as saldo
FROM table
ORDER BY ID;
-
є в тебе таблиця table
ID , VALUE
1 408.96
2 -414.63
3 563.94
4 -308.73
5 -246.35
Для постгреса
SELECT
ID,
VALUE,
sum(VALUE) OVER (ORDER BY ID) as saldo
FROM table
ORDER BY ID;
Ему надо на каждом этапе а не за все транзакции.
-
є в тебе таблиця table
ID , VALUE
1 408.96
2 -414.63
3 563.94
4 -308.73
5 -246.35
Для постгреса
SELECT
ID,
VALUE,
sum(VALUE) OVER (ORDER BY ID) as saldo
FROM table
ORDER BY ID;
Ему надо на каждом этапе а не за все транзакции.
сума всіх на кожному етапі як в старпості
нехай спробує 99.9999% то що я написав це те що йому потрібно
-
є в тебе таблиця table
ID , VALUE
1 408.96
2 -414.63
3 563.94
4 -308.73
5 -246.35
Для постгреса
SELECT
ID,
VALUE,
sum(VALUE) OVER (ORDER BY ID) as saldo
FROM table
ORDER BY ID;
Ему надо на каждом этапе а не за все транзакции.
сума всіх на кожному етапі як в старпості
нехай спробує 99.9999% то що я написав це те що йому потрібно
А, спасибо, не знал про OVER.
-
Рекомендую звернутися до фахівця
За відповідну оплату, звісно :)
бо забездурно Вам такої х-ні понаписують :)
-
SELECT
"ID",
"VALUE",
sum("VALUE") OVER (ORDER BY "ID") as saldo
FROM table1
ORDER BY "ID";
ID, VALUE, saldo
1, 408.96, 408.96
2, -414.63, -5.67
3, 563.94, 558.27
4, -308.73, 249.54
5, -246.35, 3.19
-
Ему надо на каждом этапе а не за все транзакции.
сума всіх на кожному етапі як в старпості
нехай спробує 99.9999% то що я написав це те що йому потрібно
А, спасибо, не знал про OVER.
тому і питав що за база :-)
-
Примерно в таком ключе если одним запросом:
SELECT a.value, @sm := @sm + a.value FROM table a, (SELECT @sm := 0) r;
-
Примерно в таком ключе если одним запросом:
SELECT a.value, @sm := @sm + a.value FROM table a, (SELECT @sm := 0) r;
база постгрес, а не мускуль, і скрипт для постгреса вже запостив :-)
-
Рекомендую звернутися до фахівця
За відповідну оплату, звісно :)
бо забездурно Вам такої х-ні понаписують :)
я сам программист баз данных
-
SELECT
"ID",
"VALUE",
sum("VALUE") OVER (ORDER BY "ID") as saldo
FROM table1
ORDER BY "ID";
ID, VALUE, saldo
1, 408.96, 408.96
2, -414.63, -5.67
3, 563.94, 558.27
4, -308.73, 249.54
5, -246.35, 3.19
slp , то що там ?
-
Рекомендую звернутися до фахівця
За відповідну оплату, звісно :)
бо забездурно Вам такої х-ні понаписують :)
я сам программист баз данных
:-B колега, я був прогр. БД років з десять .. поки не закохався в python
-
сума всіх на кожному етапі як в старпості
нехай спробує 99.9999% то що я написав це те що йому потрібно
А, спасибо, не знал про OVER.
тому і питав що за база :-)
Уже полгода с POSTGRES не работаю. На AWS хитрая CQRS на базе DynamoDB, Redis, Elasticsearch.
-
SELECT
"ID",
"VALUE",
sum("VALUE") OVER (ORDER BY "ID") as saldo
FROM table1
ORDER BY "ID";
ID, VALUE, saldo
1, 408.96, 408.96
2, -414.63, -5.67
3, 563.94, 558.27
4, -308.73, 249.54
5, -246.35, 3.19
не совсем то
мне надо чтобы в итоге в id=3 saldo 3.19
в остальных id saldo=0
-
бо забездурно Вам такої х-ні понаписують :)
я сам программист баз данных
:-B колега, я був прогр. БД років з десять .. поки не закохався в python
что значит питон без баз данных
ведь в итоге все мы делаем для sql серверов
-
Стільки, билять, вумних а скіна нормально для фупу переписати нікому
-
Стільки, билять, вумних а скіна нормально для фупу переписати нікому
чтобы здесь вольно резвились ватники, зрадойобы всех мастей ?
-
А, спасибо, не знал про OVER.
тому і питав що за база :-)
Уже полгода с POSTGRES не работаю. На AWS хитрая CQRS на базе DynamoDB, Redis, Elasticsearch.
Зоопарк, і практично нічого з цього базою не назвеш в класичному розумінні
-
тому і питав що за база :-)
Уже полгода с POSTGRES не работаю. На AWS хитрая CQRS на базе DynamoDB, Redis, Elasticsearch.
Зоопарк, і практично нічого з цього базою не назвеш в класичному розумінні
Там логи проектируются Redis. Можно восстановить состояние в любой точки времени всего.
-
Уже полгода с POSTGRES не работаю. На AWS хитрая CQRS на базе DynamoDB, Redis, Elasticsearch.
Зоопарк, і практично нічого з цього базою не назвеш в класичному розумінні
Там логи проектируются Redis. Можно восстановить состояние в любой точки времени всего.
а ну якщо логи і хайлоад і не потрібно якоїсь логіки на БД то такий зоопарк якраз те з чим собі можна моск поєпати
-
SELECT
"ID",
"VALUE",
sum("VALUE") OVER (ORDER BY "ID") as saldo
FROM table1
ORDER BY "ID";
ID, VALUE, saldo
1, 408.96, 408.96
2, -414.63, -5.67
3, 563.94, 558.27
4, -308.73, 249.54
5, -246.35, 3.19
не совсем то
мне надо чтобы в итоге в id=3 saldo 3.19
в остальных id saldo=0
якесь дивне бажання,давай повніше опиши ТЗ і чому саме в ID=3
-
Афигенная постановка задачи - ни что это за значения (остатки, обороты), ни где здесь период. Чтобы грамотно сформулировать задачу, используйте все средства родного языка.
-
SELECT
"ID",
"VALUE",
sum("VALUE") OVER (ORDER BY "ID") as saldo
FROM table1
ORDER BY "ID";
ID, VALUE, saldo
1, 408.96, 408.96
2, -414.63, -5.67
3, 563.94, 558.27
4, -308.73, 249.54
5, -246.35, 3.19
не совсем то
мне надо чтобы в итоге в id=3 saldo 3.19
в остальных id saldo=0
якесь дивне бажання,давай повніше опиши ТЗ і чому саме в ID=3
value - это цифры долга за по периодам
мне надо узнать за какой период остался долг
в данном случае это период id=3
-
value - это цифры долга за по периодам
мне надо узнать за какой период остался долг
value - это цифры долга за период
id номер периода
мне надо узнать за какой период остался долг
-
value - это цифры долга за по периодам
мне надо узнать за какой период остался долг
value - это цифры долга за период
id номер периода
мне надо узнать за какой период остался долг
"Цифры долга за период" - это что за терминология? Какждый что захочет, то и поймет под этим.
-
value - это цифры долга за по периодам
мне надо узнать за какой период остался долг
value - это цифры долга за период
id номер периода
мне надо узнать за какой период остался долг
"Цифры долга за период" - это что за терминология? Какждый что захочет, то и поймет под этим.
Т.е. это остаток долга на каждыую дату или изменение долга за каждую дату? Мля, есть же общепринятые термины, почему их не использовать?
-
value - это цифры долга за по периодам
мне надо узнать за какой период остался долг
value - это цифры долга за период
id номер периода
мне надо узнать за какой период остался долг
"Цифры долга за период" - это что за терминология? Какждый что захочет, то и поймет под этим.
вам какая разница ?
просто некое число
это же не влияет на текст запроса
-
value - это цифры долга за период
id номер периода
мне надо узнать за какой период остался долг
"Цифры долга за период" - это что за терминология? Какждый что захочет, то и поймет под этим.
Т.е. это остаток долга на каждыую дату или изменение долга за каждую дату? Мля, есть же общепринятые термины, почему их не использовать?
долг за период с 1 по 30 число месяца
каждый месяц это период
-
Если это таблица изменений, то тогда так. Соединяешь таблицу саму с собой по условию id1<=id2, группируешь по старшему периоду с суммированием value, на выходе ставишь нужное условие на полученные суммы (>0).
-
"Цифры долга за период" - это что за терминология? Какждый что захочет, то и поймет под этим.
Т.е. это остаток долга на каждыую дату или изменение долга за каждую дату? Мля, есть же общепринятые термины, почему их не использовать?
долг за период с 1 по 30 число месяца
каждый месяц это период
Если остаток долга, то простой select с условием value>0
-
value - это цифры долга за период
id номер периода
мне надо узнать за какой период остался долг
"Цифры долга за период" - это что за терминология? Какждый что захочет, то и поймет под этим.
вам какая разница ?
просто некое число
это же не влияет на текст запроса
Это влияет на логику запроса и как следствие - на текст. Сальдо это или обороты?
Ты можешь сформулировать задачу языком учёта? Или бухгалтерии?
-
Если это таблица изменений, то тогда так. Соединяешь таблицу саму с собой по условию id1<=id2, группируешь по старшему периоду с суммированием value, на выходе ставишь нужное условие на полученные суммы (>0).
пример sql запроса можно ?
-
"Цифры долга за период" - это что за терминология? Какждый что захочет, то и поймет под этим.
вам какая разница ?
просто некое число
это же не влияет на текст запроса
Это влияет на логику запроса и как следствие - на текст. Сальдо это или обороты?
Ты можешь сформулировать задачу языком учёта? Или бухгалтерии?
есть некий долг
мне надо разбить этот долг по периодам возникновения
те 100 грн
долг
1 мес 3 грн
>1 мес-6 мес 10 грн
>6 мес-1 год 0 грн
...
> 3 лет 55 грн
бухи называют это анализ дебиторской задолженности
-
Если это таблица изменений, то тогда так. Соединяешь таблицу саму с собой по условию id1<=id2, группируешь по старшему периоду с суммированием value, на выходе ставишь нужное условие на полученные суммы (>0).
пример sql запроса можно ?
Если у тебя остатки (я уже понял это из контекста разговора), то тогда так:
SELECT
ID as MyPERIOD,
VALUE AS Positiv_Dolg,
FROM [Yor_Fucking_Table]
WHERE VALUE>0;
Если надо первый период с положительным остатком, то
SELECT FIRST 1
ID as MyPERIOD,
VALUE AS Positiv_Dolg,
FROM [Yor_Fucking_Table]
WHERE VALUE>0
ORDER BY MyPeriod
Если обороты - влом писать.
-
Я зрозумів, вот те що тобі потрібно
WITH tmp_table as (SELECT
"ID",
"VALUE",
sum("VALUE") OVER (ORDER BY "ID") as saldo,
sum("VALUE") OVER () as saldo_all
FROM table1
ORDER BY "ID")
SELECT
tb1.*,
CASE WHEN tb1."VALUE"-tmp_table."saldo">0 THEN saldo_all ELSE 0 END AS RESULT
from table1 tb1
LEFT JOIN tmp_table ON tb1."ID"=tmp_table."ID"
ID, VALUE, RESULT
1, 408.96, 0
2, -414.63, 0
3, 563.94, 3.19
4, -308.73, 0
5, -246.35, 0
ID, VALUE, RESULT
1, 408.96, 0
2, -414.63, 0
3, 563.94, 249.54
4, -308.73, 0
ID, VALUE, RESULT
1, 408.96, 0
2, -414.63, 0
3, 563.94, 558.27
ID, VALUE, RESULT
1, 408.96, 0
2, -414.63, 0
ID, VALUE, RESULT
1, 408.96, 0
До 3 періода заборгованості не було тому 0
-
Не всі ще знають про WINDOW / ANALYTICAL functions в SQL. Зате тепер знаєте, що гуглити. Приклад з OVER правильний, решта - з 80-х років.
-
есть значения
1 408.96
2 -414.63
3 563.94
4 -308.73
5 -246.35
мне надо
step
408.96-414.63
1 408.96 0
2 -414.63 -5.67
step
408.96-414.63+563.94
1 408.96 0
2 -414.63 0
3 563.94 558.27
step
408.96-414.63+563.94-308.73
1 408.96 0
2 -414.63 0
3 563.94 249.54
4 -308.73 0
step
408.96-414.63+563.94-308.73-246.35
1 408.96 0
2 -414.63 0
3 563.94 3.19
4 -308.73 0
5 -246.35 0
те я хочу узнать за какой период остался положительный остаток
желательно одним select
тоді ця умова випадає:
мне надо
step
408.96-414.63
1 408.96 0
2 -414.63 -5.67
-
я сам программист баз данных
чомусь відразу так і подумалось.....
-
Не всі ще знають про WINDOW / ANALYTICAL functions в SQL. Зате тепер знаєте, що гуглити. Приклад з OVER правильний, решта - з 80-х років.
у віконних функціях є обмеження на датасет, вроді як більше 4к не стягнуть.. тре гуглити.
так що варіант Luxetenebris більш практичний.
Варіант з аналітикою :-)
SQL> select id,
2 case
3 when summ - sum(summ)
4 over(order by id ROWS BETWEEN UNBOUNDED PRECEDING and CURRENT ROW) <= 0 then
5 0
6 else
7 sum(summ) over(order by id ROWS BETWEEN UNBOUNDED PRECEDING and UNBOUNDED FOLLOWING)
8 end result
9 from tmp_t
10 where id < 6
11 ;
ID RESULT
---------- ----------
1 0
2 0
3 3.19
4 0
5 0
-
Не всі ще знають про WINDOW / ANALYTICAL functions в SQL. Зате тепер знаєте, що гуглити. Приклад з OVER правильний, решта - з 80-х років.
у віконних функціях є обмеження на датасет, вроді як більше 4к не стягнуть.. тре гуглити.
так що варіант Luxetenebris більш практичний.
Варіант з аналітикою :-)
SQL> select id,
2 case
3 when summ - sum(summ)
4 over(order by id ROWS BETWEEN UNBOUNDED PRECEDING and CURRENT ROW) <= 0 then
5 0
6 else
7 sum(summ) over(order by id ROWS BETWEEN UNBOUNDED PRECEDING and UNBOUNDED FOLLOWING)
8 end result
9 from tmp_t
10 where id < 6
11 ;
ID RESULT
---------- ----------
1 0
2 0
3 3.19
4 0
5 0
(tu)
-
Не всі ще знають про WINDOW / ANALYTICAL functions в SQL. Зате тепер знаєте, що гуглити. Приклад з OVER правильний, решта - з 80-х років.
у віконних функціях є обмеження на датасет, вроді як більше 4к не стягнуть.. тре гуглити.
так що варіант Luxetenebris більш практичний.
Варіант з аналітикою :-)
SQL> select id,
2 case
3 when summ - sum(summ)
4 over(order by id ROWS BETWEEN UNBOUNDED PRECEDING and CURRENT ROW) <= 0 then
5 0
6 else
7 sum(summ) over(order by id ROWS BETWEEN UNBOUNDED PRECEDING and UNBOUNDED FOLLOWING)
8 end result
9 from tmp_t
10 where id < 6
11 ;
ID RESULT
---------- ----------
1 0
2 0
3 3.19
4 0
5 0
красиво (tu) B-)
-
Мені здається що ця гілка це наслідок того що закрили ПТ на SQL.RU :-)
-
Мені здається що ця гілка це наслідок того що закрили ПТ на SQL.RU :-)
я думал только для меня закрыли по ip или еще как, а оказывается вона чо...
кстати, я арею вижу, но войти туда не могу. а пт вообще не видно :)
-
Мені здається що ця гілка це наслідок того що закрили ПТ на SQL.RU :-)
я думал только для меня закрыли по ip или еще как, а оказывается вона чо...
ЗПТ і AREA 51 ще дихають ...
-
Мені здається що ця гілка це наслідок того що закрили ПТ на SQL.RU :-)
ПТ - это что ?
я давно на sql.ru
-
Мені здається що ця гілка це наслідок того що закрили ПТ на SQL.RU :-)
ПТ - это что ?
я давно на sql.ru
:laugh:
не тем чем надо занимался все это время
-
UNBOUNDED PRECEDING and CURRENT ROW
это что ?
-
Мені здається що ця гілка це наслідок того що закрили ПТ на SQL.RU :-)
ПТ - это что ?
я давно на sql.ru
:laugh:
не тем чем надо занимался все это время
в основном на форуме postgresql
-
Мені здається що ця гілка це наслідок того що закрили ПТ на SQL.RU :-)
ПТ - это что ?
я давно на sql.ru
стидоба не знати що таке ПТ
ПРОСТО ТРЕП .... :D
-
UNBOUNDED PRECEDING and CURRENT ROW
это что ?
це задає область записів з таблички на яку поширюється аналітична функція
https://www.postgresql.org/docs/9.3/static/functions-window.html
-
Мені здається що ця гілка це наслідок того що закрили ПТ на SQL.RU :-)
ПТ - это что ?
я давно на sql.ru
стидоба не знати що таке ПТ
ПРОСТО ТРЕП .... :D
ну не знаю
так скажи
-
Мені здається що ця гілка це наслідок того що закрили ПТ на SQL.RU :-)
ПТ - это что ?
я давно на sql.ru
стидоба не знати що таке ПТ
ПРОСТО ТРЕП .... :D
проводится дератизация
(http://i.piccy.info/i9/8392b4c118fb580903512e8d306ac9fd/1534245433/37199/1263496/pt.jpg)
-
ПТ - это что ?
я давно на sql.ru
стидоба не знати що таке ПТ
ПРОСТО ТРЕП .... :D
проводится дератизация
(http://i.piccy.info/i9/8392b4c118fb580903512e8d306ac9fd/1534245433/37199/1263496/pt.jpg)
роскомнадзор мабудь яйки прижав за ПТ ... :-)
-
ПТ - это что ?
я давно на sql.ru
стидоба не знати що таке ПТ
ПРОСТО ТРЕП .... :D
проводится дератизация
(http://i.piccy.info/i9/8392b4c118fb580903512e8d306ac9fd/1534245433/37199/1263496/pt.jpg)
никогда не видел этого форума и естественно не заходил в него
-
стидоба не знати що таке ПТ
ПРОСТО ТРЕП .... :D
проводится дератизация
(http://i.piccy.info/i9/8392b4c118fb580903512e8d306ac9fd/1534245433/37199/1263496/pt.jpg)
никогда не видел этого форума и естественно не заходил в него
:facepalm1:
-
проводится дератизация
(http://i.piccy.info/i9/8392b4c118fb580903512e8d306ac9fd/1534245433/37199/1263496/pt.jpg)
никогда не видел этого форума и естественно не заходил в него
:facepalm1:
его вообще не видно
-
Наиболее правильным вариантом (хоть и, возможно, не самым производительным в базовом варианте) будет - используя таблицу опорного календаря получать сальдо на каждый день
зы это сейчас по экономике такие лабы стали давать?
-
Наиболее правильным вариантом (хоть и, возможно, не самым производительным в базовом варианте) будет - используя таблицу опорного календаря получать сальдо на каждый день
зы это сейчас по экономике такие лабы стали давать?
у нього там були періоди а не конкретні дати
і сальдо там потрібно рахувати на кожен окремий період
-
ап
-
ап
-
Наиболее правильным вариантом (хоть и, возможно, не самым производительным в базовом варианте) будет - используя таблицу опорного календаря получать сальдо на каждый день
зы это сейчас по экономике такие лабы стали давать?
у нього там були періоди а не конкретні дати
і сальдо там потрібно рахувати на кожен окремий період
Тем более нужен опорный календарь, раз "на конкретные даты"
Иначе - что произойдёт?
Если в исходных данных не будет нужной даты (даты окончания периода. Да и где они, кстати, эти даты, кто знает?) - у нас не будет данных на эту дату.
-
Наиболее правильным вариантом (хоть и, возможно, не самым производительным в базовом варианте) будет - используя таблицу опорного календаря получать сальдо на каждый день
зы это сейчас по экономике такие лабы стали давать?
у нього там були періоди а не конкретні дати
і сальдо там потрібно рахувати на кожен окремий період
Тем более нужен опорный календарь, раз "на конкретные даты"
Иначе - что произойдёт?
Если в исходных данных не будет нужной даты (даты окончания периода. Да и где они, кстати, эти даты, кто знает?) - у нас не будет данных на эту дату.
не конкретные даты а периоды дат под ИДшками ....
-
у нього там були періоди а не конкретні дати
і сальдо там потрібно рахувати на кожен окремий період
Тем более нужен опорный календарь, раз "на конкретные даты"
Иначе - что произойдёт?
Если в исходных данных не будет нужной даты (даты окончания периода. Да и где они, кстати, эти даты, кто знает?) - у нас не будет данных на эту дату.
не конкретные даты а периоды дат под ИДшками ....
это вот, кстати, одна из причин, по которой я сразу начинаю орать. Всё равно потом придётся - так чего я буду время терять?
"период времени (временнóй интервал) - Последовательность времени между двумя временными точками. Эти временные точки называют соответственно «начало» и «конец». Период времени может быть определен между временными точками, одной временной точкой и временным расстоянием между точками или временным расстоянием только между этими точками."
Вот эти вот "временные точки" - и есть "конкретные даты", обозначенные в "опорном календаре".
-
Тем более нужен опорный календарь, раз "на конкретные даты"
Иначе - что произойдёт?
Если в исходных данных не будет нужной даты (даты окончания периода. Да и где они, кстати, эти даты, кто знает?) - у нас не будет данных на эту дату.
не конкретные даты а периоды дат под ИДшками ....
это вот, кстати, одна из причин, по которой я сразу начинаю орать. Всё равно потом придётся - так чего я буду время терять?
"период времени (временнóй интервал) - Последовательность времени между двумя временными точками. Эти временные точки называют соответственно «начало» и «конец». Период времени может быть определен между временными точками, одной временной точкой и временным расстоянием между точками или временным расстоянием только между этими точками."
Вот эти вот "временные точки" - и есть "конкретные даты", обозначенные в "опорном календаре".
ни ты ни я не видел что там на самом деле у чувака .
у него 1 2 3 4 и 100500, 100600 суммы и ему надо.
а что там реально, есть ли у него даты, где и как они тим хранятся как обновляются - ХЗ ... ни ты ни я не вкурсе что там у програмиста БД с 2004 года .. :laugh:
-
не конкретные даты а периоды дат под ИДшками ....
это вот, кстати, одна из причин, по которой я сразу начинаю орать. Всё равно потом придётся - так чего я буду время терять?
"период времени (временнóй интервал) - Последовательность времени между двумя временными точками. Эти временные точки называют соответственно «начало» и «конец». Период времени может быть определен между временными точками, одной временной точкой и временным расстоянием между точками или временным расстоянием только между этими точками."
Вот эти вот "временные точки" - и есть "конкретные даты", обозначенные в "опорном календаре".
ни ты ни я не видел что там на самом деле у чувака .
у него 1 2 3 4 и 100500, 100600 суммы и ему надо.
а что там реально, есть ли у него даты, где и как они тим хранятся как обновляются - ХЗ ... ни ты ни я не вкурсе что там у програмиста БД с 2004 года .. :laugh:
есть такая штука как "опыт". Даёт возможность принимать правильные и/или оптимальные решения на основании неполных данных.
Рекомендую.
-
это вот, кстати, одна из причин, по которой я сразу начинаю орать. Всё равно потом придётся - так чего я буду время терять?
"период времени (временнóй интервал) - Последовательность времени между двумя временными точками. Эти временные точки называют соответственно «начало» и «конец». Период времени может быть определен между временными точками, одной временной точкой и временным расстоянием между точками или временным расстоянием только между этими точками."
Вот эти вот "временные точки" - и есть "конкретные даты", обозначенные в "опорном календаре".
ни ты ни я не видел что там на самом деле у чувака .
у него 1 2 3 4 и 100500, 100600 суммы и ему надо.
а что там реально, есть ли у него даты, где и как они тим хранятся как обновляются - ХЗ ... ни ты ни я не вкурсе что там у програмиста БД с 2004 года .. :laugh:
есть такая штука как "опыт". Даёт возможность принимать правильные и/или оптимальные решения на основании неполных данных.
Рекомендую.
видал я таких принимальщиков решений на основании неполных данных ...
такая штука как опыт подсказывает что ипись оно вороным конем чтото делать на основании неполных данных :gigi:
-
ни ты ни я не видел что там на самом деле у чувака .
у него 1 2 3 4 и 100500, 100600 суммы и ему надо.
а что там реально, есть ли у него даты, где и как они тим хранятся как обновляются - ХЗ ... ни ты ни я не вкурсе что там у програмиста БД с 2004 года .. :laugh:
есть такая штука как "опыт". Даёт возможность принимать правильные и/или оптимальные решения на основании неполных данных.
Рекомендую.
видал я таких принимальщиков решений на основании неполных данных ...
такая штука как опыт подсказывает что ипись оно вороным конем чтото делать на основании неполных данных :gigi:
Поэтому ты всегда сидишь и нифига не делаешь?
Неплохо, но малодоходно.
-
есть такая штука как "опыт". Даёт возможность принимать правильные и/или оптимальные решения на основании неполных данных.
Рекомендую.
видал я таких принимальщиков решений на основании неполных данных ...
такая штука как опыт подсказывает что ипись оно вороным конем чтото делать на основании неполных данных :gigi:
Поэтому ты всегда сидишь и нифига не делаешь?
Неплохо, но малодоходно.
неплохо и достаточно доходно, это я тебе точно говорю. И кроме того потом не бегаеш как макак по кукурузному полю с красной задницей , переделывая то что сделал на основании неполных данных ...
-
фак, так и тянет прочитать лайтинг на тему "принятие квази-оптимальных технологических решения для быстрой реализации задач на примере задач расчета нарастающих итогов"
но лень
-
фак, так и тянет прочитать лайтинг на тему "принятие квази-оптимальных технологических решения для быстрой реализации задач на примере задач расчета нарастающих итогов"
но лень
приежжай, прочитаеш. я тебе в Ужгороде моментом организую каконить митап, даже в рамках SQL комюнити груп
раскажеш сказки про быстрые реализации на основании неполных данных :lol:
-
видал я таких принимальщиков решений на основании неполных данных ...
такая штука как опыт подсказывает что ипись оно вороным конем чтото делать на основании неполных данных :gigi:
Поэтому ты всегда сидишь и нифига не делаешь?
Неплохо, но малодоходно.
неплохо и достаточно доходно, это я тебе точно говорю. И кроме того потом не бегаеш как макак по кукурузному полю с красной задницей , переделывая то что сделал на основании неполных данных ...
а, я понял, в чем проблема
ты не знаешь значение слова "правильное"
Давай я тебе помогу:
ПРАВИЛЬНО:
1.Верно, точно, безошибочно.
2. Так, как нужно, как следует.
А когда ты "бегаешь как макак" - то значит что ты просто обизяна и в очередной раз спорол херню.
но про херню то речь не шла, верно?
Говорилось об "возможность принимать правильные и/или оптимальные решения "
-
Поэтому ты всегда сидишь и нифига не делаешь?
Неплохо, но малодоходно.
неплохо и достаточно доходно, это я тебе точно говорю. И кроме того потом не бегаеш как макак по кукурузному полю с красной задницей , переделывая то что сделал на основании неполных данных ...
а, я понял, в чем проблема
ты не знаешь значение слова "правильное"
Давай я тебе помогу:
ПРАВИЛЬНО:
1.Верно, точно, безошибочно.
2. Так, как нужно, как следует.
А когда ты "бегаешь как макак" - то значит что ты просто обизяна и в очередной раз спорол херню.
но про херню то речь не шла, верно?
Говорилось об "возможность принимать правильные и/или оптимальные решения "
оговорилось о том что ни ты ни я дупля не отстреливаем что там у топикастера и програмиста БД с 2004 года на самом деле
-
фак, так и тянет прочитать лайтинг на тему "принятие квази-оптимальных технологических решения для быстрой реализации задач на примере задач расчета нарастающих итогов"
но лень
приежжай, прочитаеш. я тебе в Ужгороде моментом организую каконить митап, даже в рамках SQL комюнити груп
раскажеш сказки про быстрые реализации на основании неполных данных :lol:
не-не-не!
Фигушки!
Я раз сдуру согласился (у меня- географический идиотизм, я хрен гребу что где. А потом оказалось что Ужгород - это наиболее удалённый от меня город, дальше просто не бывает.)
Я чуть не умер пока доехал
но город, конечно, мне понравился, хотя я там и недолго был.
Симпатичное место.
-
неплохо и достаточно доходно, это я тебе точно говорю. И кроме того потом не бегаеш как макак по кукурузному полю с красной задницей , переделывая то что сделал на основании неполных данных ...
а, я понял, в чем проблема
ты не знаешь значение слова "правильное"
Давай я тебе помогу:
ПРАВИЛЬНО:
1.Верно, точно, безошибочно.
2. Так, как нужно, как следует.
А когда ты "бегаешь как макак" - то значит что ты просто обизяна и в очередной раз спорол херню.
но про херню то речь не шла, верно?
Говорилось об "возможность принимать правильные и/или оптимальные решения "
оговорилось о том что ни ты ни я дупля не отстреливаем что там у топикастера и програмиста БД с 2004 года на самом деле
Я тебя умоляю! Если челу надо забить гвоздь - надо брать молоток!
Стандартное технологическое решение, понятное и доступное всем
Причем - неплохо масштабируемое и подходящее для большинства непромышленных применений.
точно так и тут.
"Сальдо на дату" - опорный календарь. Быстро, просто, дёшево, масштабируемо
А так, конечно - от циклов, курсоров и т.д - до селф джойнов. но каждое "конкретное" решение будет с косяком/оговоркой
В то время как "стандартное" - будет конфигурируемо и, кстати, вполне вероятно - значительно более оптимальным
-
Хотя вот тут говорят что будут развивать местную авиацию - если таки да, то можно будет слетать
-
Хотя вот тут говорят что будут развивать местную авиацию - если таки да, то можно будет слетать
к нам какаято херня вродь как летает, правда из киева
-
Хотя вот тут говорят что будут развивать местную авиацию - если таки да, то можно будет слетать
к нам какаято херня вродь как летает, правда из киева
ну, уже лучше
но ненамного - пока до киева, пока пересадка... будем подождать-посмотреть
-
мдя
select id,
case
when summ - sum(summ)
over(order by id ROWS BETWEEN UNBOUNDED PRECEDING and CURRENT ROW) <= 0 then
0
else
sum(summ) over(order by id ROWS BETWEEN UNBOUNDED PRECEDING and UNBOUNDED FOLLOWING)
end result
from tmp_t
для варианта
"67004";191.88
"67004";-442.82
"67004";675.57
"67004";-332.76
"67004";-34.79
работает
"67004";0
"67004";0
"67004";57.08
67004";0
"67004";0
но для
варианта
"12428";1144.73
"12428";4503.82
"12428";8260.20
"12428";799.43
"12428";7914.11
НЕ работает
"12428";0
"12428";0
"12428";0
"12428";0
"12428";0
хотя так как минусов не было - он должен просто перенести положительные значения
-
мій варіант пробував ?
https://forum.pravda.com.ua/index.php?topic=1012962.msg21495512#msg21495512
хоча там буде таке саме 0 бо заборгованості не виникало
-
мій варіант пробував ?
https://forum.pravda.com.ua/index.php?topic=1012962.msg21495512#msg21495512
хоча там буде таке саме 0 бо заборгованості не виникало
почему ?
положительное число - долг за период
минус - переплата за период
в сумме они дают долг который надо распределить по периодам
для 1 случая все хорошо
для 2 случая когда распределять ничего не надо - просто оставить положительные значения - он их обнуляет
-
мій варіант пробував ?
https://forum.pravda.com.ua/index.php?topic=1012962.msg21495512#msg21495512
хоча там буде таке саме 0 бо заборгованості не виникало
почему ?
положительное число - долг за период
минус - переплата за период
в сумме они дают долг который надо распределить по периодам
для 1 случая все хорошо
для 2 случая когда распределять ничего не надо - просто оставить положительные значения - он их обнуляет
так ти ж сам хотів нулі ... і знати де виникла заборгованість то ...
з кейсом даних без заборгованості ти нічого не писав в стартопіку
-
мій варіант пробував ?
https://forum.pravda.com.ua/index.php?topic=1012962.msg21495512#msg21495512
хоча там буде таке саме 0 бо заборгованості не виникало
почему ?
положительное число - долг за период
минус - переплата за период
в сумме они дают долг который надо распределить по периодам
для 1 случая все хорошо
для 2 случая когда распределять ничего не надо - просто оставить положительные значения - он их обнуляет
так ти ж сам хотів нулі ... і знати де виникла заборгованість то ...
з кейсом даних без заборгованості ти нічого не писав в стартопіку
в первом случае сумма борга в итоге 57.08
прога правильно определила - что это остаток 3 периода
во 2 случае
сумма борга 22 тыс
те надо просто оставить суммы борга каждого периода
-
почему ?
положительное число - долг за период
минус - переплата за период
в сумме они дают долг который надо распределить по периодам
для 1 случая все хорошо
для 2 случая когда распределять ничего не надо - просто оставить положительные значения - он их обнуляет
так ти ж сам хотів нулі ... і знати де виникла заборгованість то ...
з кейсом даних без заборгованості ти нічого не писав в стартопіку
в первом случае сумма борга в итоге 57.08
прога правильно определила - что это остаток 3 периода
во 2 случае
сумма борга 22 тыс
те надо просто оставить суммы борга каждого периода
я думаю програмісту БД з 2004 року не буде складно трохи пофіксити селект і просто залишити суми боргу кожного періода
-
так ти ж сам хотів нулі ... і знати де виникла заборгованість то ...
з кейсом даних без заборгованості ти нічого не писав в стартопіку
в первом случае сумма борга в итоге 57.08
прога правильно определила - что это остаток 3 периода
во 2 случае
сумма борга 22 тыс
те надо просто оставить суммы борга каждого периода
я думаю програмісту БД з 2004 року не буде складно трохи пофіксити селект і просто залишити суми боргу кожного періода
зачем напрягаться если можно попросить помощь зала
-
есть значения
1 408.96
2 -414.63
3 563.94
4 -308.73
5 -246.35
мне надо
step
408.96-414.63
1 408.96 0
2 -414.63 -5.67
step
408.96-414.63+563.94
1 408.96 0
2 -414.63 0
3 563.94 558.27
step
408.96-414.63+563.94-308.73
1 408.96 0
2 -414.63 0
3 563.94 249.54
4 -308.73 0
step
408.96-414.63+563.94-308.73-246.35
1 408.96 0
2 -414.63 0
3 563.94 3.19
4 -308.73 0
5 -246.35 0
те я хочу узнать за какой период остался положительный остаток
желательно одним select
Казали тобі, вчи пітона, а ти в SQL поліз... :pooh_lol:
-
в первом случае сумма борга в итоге 57.08
прога правильно определила - что это остаток 3 периода
во 2 случае
сумма борга 22 тыс
те надо просто оставить суммы борга каждого периода
я думаю програмісту БД з 2004 року не буде складно трохи пофіксити селект і просто залишити суми боргу кожного періода
зачем напрягаться если можно попросить помощь зала
:laugh:
-
есть значения
1 408.96
2 -414.63
3 563.94
4 -308.73
5 -246.35
мне надо
step
408.96-414.63
1 408.96 0
2 -414.63 -5.67
step
408.96-414.63+563.94
1 408.96 0
2 -414.63 0
3 563.94 558.27
step
408.96-414.63+563.94-308.73
1 408.96 0
2 -414.63 0
3 563.94 249.54
4 -308.73 0
step
408.96-414.63+563.94-308.73-246.35
1 408.96 0
2 -414.63 0
3 563.94 3.19
4 -308.73 0
5 -246.35 0
те я хочу узнать за какой период остался положительный остаток
желательно одним select
Казали тобі, вчи пітона, а ти в SQL поліз... :pooh_lol:
питон нужен для работы с sql сервером
вся бизнес-логика должны быть только в sql
-
ап
-
в первом случае сумма борга в итоге 57.08
прога правильно определила - что это остаток 3 периода
во 2 случае
сумма борга 22 тыс
те надо просто оставить суммы борга каждого периода
я думаю програмісту БД з 2004 року не буде складно трохи пофіксити селект і просто залишити суми боргу кожного періода
зачем напрягаться если можно попросить помощь зала
і то правда ... :lol:
-
ап
що програміст БД з 2004 року не осилить пофіксити скрипт який йому підказали ?
-
ап
що програміст БД з 2004 року не осилить пофіксити скрипт який йому підказали ?
жду помощь зала
и твой код неправильно работает
-
ап
що програміст БД з 2004 року не осилить пофіксити скрипт який йому підказали ?
жду помощь зала
и твой код неправильно работает
він правильно працює і мій код і той що з аналітикою тут тобі теж постили , а у випандку відсутності заборгованості щоб не було нулів можеш трішки напрягтись і дописати що потрібно.
Ну але навіщо напрягатись, якщо можна когось викроистати щоб зробив твою роботу за котру тобі платять :-) правда ? :lol:
"жди помощь зала"
-
що програміст БД з 2004 року не осилить пофіксити скрипт який йому підказали ?
жду помощь зала
и твой код неправильно работает
він правильно працює і мій код і той що з аналітикою тут тобі теж постили , а у випандку відсутності заборгованості щоб не було нулів можеш трішки напрягтись і дописати що потрібно.
Ну але навіщо напрягатись, якщо можна когось викроистати щоб зробив твою роботу за котру тобі платять :-) правда ? :lol:
"жди помощь зала"
Правда
Я привык бесплатно всем помогать и жду такого же отношения к себе
Твой код НЕ работает - тк он элементарно неправильно считает в случае наличия задолженности
-
жду помощь зала
и твой код неправильно работает
він правильно працює і мій код і той що з аналітикою тут тобі теж постили , а у випандку відсутності заборгованості щоб не було нулів можеш трішки напрягтись і дописати що потрібно.
Ну але навіщо напрягатись, якщо можна когось викроистати щоб зробив твою роботу за котру тобі платять :-) правда ? :lol:
"жди помощь зала"
Правда
Я привык бесплатно всем помогать и жду такого же отношения к себе
Твой код НЕ работает - тк он элементарно неправильно считает в случае наличия задолженности
напиши свій код :laugh: який буде працювати так як тобі потрібно , тобі досвід програміста з 2004 року мав би дозволити це зробити за хвилин 40 не більше.
-
він правильно працює і мій код і той що з аналітикою тут тобі теж постили , а у випандку відсутності заборгованості щоб не було нулів можеш трішки напрягтись і дописати що потрібно.
Ну але навіщо напрягатись, якщо можна когось викроистати щоб зробив твою роботу за котру тобі платять :-) правда ? :lol:
"жди помощь зала"
Правда
Я привык бесплатно всем помогать и жду такого же отношения к себе
Твой код НЕ работает - тк он элементарно неправильно считает в случае наличия задолженности
напиши свій код :laugh: який буде працювати так як тобі потрібно , тобі досвід програміста з 2004 року мав би дозволити це зробити за хвилин 40 не більше.
Зачем изобретать велосипед - если кто-то уже писал подобный код ?
-
Правда
Я привык бесплатно всем помогать и жду такого же отношения к себе
Твой код НЕ работает - тк он элементарно неправильно считает в случае наличия задолженности
напиши свій код :laugh: який буде працювати так як тобі потрібно , тобі досвід програміста з 2004 року мав би дозволити це зробити за хвилин 40 не більше.
Зачем изобретать велосипед - если кто-то уже писал подобный код ?
ти другий день чекаєш щоб за тебе хтось зробив твою роботу. щоб не напрягатись.
і навчись розрізняти що таке просити допомоги і що таке просити щоб за тебе зробили роботу. За котру між іншим ти отримуєш гроші.
-
які вони настирливі ці "маги оператора SELECT"....
їх у двері, а вони у вікно лізуть і лізуть..
геть чисто як москалі!
-
напиши свій код :laugh: який буде працювати так як тобі потрібно , тобі досвід програміста з 2004 року мав би дозволити це зробити за хвилин 40 не більше.
Зачем изобретать велосипед - если кто-то уже писал подобный код ?
ти другий день чекаєш щоб за тебе хтось зробив твою роботу. щоб не напрягатись.
і навчись розрізняти що таке просити допомоги і що таке просити щоб за тебе зробили роботу. За котру між іншим ти отримуєш гроші.
1) я занимаюсь другой работой - ведь этот код только маленькая часть большого select
2) я попросил помощи - это нормальная ситуация для opensource.
да и для любого из братства программеров
3) ты написал неработающий код и не хочешь этого признать. Ну то таке
-
Та добре, не напрягайся, чекай допомоги.
-
Та добре, не напрягайся, чекай допомоги.
Инструкция на случай если вы потерялись в дремучем скл запросе:
1. Ничего не предпринимайте
2. Не двигайтесь
3. Ожидайте помощи
-
Та добре, не напрягайся, чекай допомоги.
Инструкция на случай если вы потерялись в дремучем скл запросе:
1. Ничего не предпринимайте
2. Не двигайтесь
3. Ожидайте помощи
:lol:
-
тэкс
спс за примеры - но совсем не то предложили
я по своему все написал
осталось вот такая мелочь
id s i k
1 5 20
2 10 20
3 3 20
мне нужен запрос который отнимал s от i и записывал в k
И
изменял i для нижеследующих записей на сумму s
те
step 1
id s i k
1 5 20 15
20-5=15
step 2
id s i k
2 10 15 5
15-10=5
step 3
id s i k
3 3 5 2
Все одним запросом
-
всем спасибо за примеры кода
в которой раз убеждаюсь
'Хочешь чтобы работало — сделай сам'
-
всем спасибо за примеры кода
в которой раз убеждаюсь
'Хочешь чтобы работало — сделай сам'
ну ти ж не допомоги просив, а щоб за тебе зробили твою роботу а ти не напрягався :laugh:
-
всем спасибо за примеры кода
в которой раз убеждаюсь
'Хочешь чтобы работало — сделай сам'
Не ображайтесь, тре чіткіше формулювати вимоги.
Вудочку вам підкинули а ви вже хотіли повну торбу карасів :-)
у селектах згідно останніх реквайрементів є помилка, якщо там суму боргу тре "розмазувати" починаючи з найстарішого періоду з плюсовим сальдом боргу.
-
всем спасибо за примеры кода
в которой раз убеждаюсь
'Хочешь чтобы работало — сделай сам'
ну ти ж не допомоги просив, а щоб за тебе зробили твою роботу а ти не напрягався :laugh:
всегда есть человек который уже делал подобное
-
всем спасибо за примеры кода
в которой раз убеждаюсь
'Хочешь чтобы работало — сделай сам'
Не ображайтесь, тре чіткіше формулювати вимоги.
Вудочку вам підкинули а ви вже хотіли повну торбу карасів :-)
у селектах згідно останніх реквайрементів є помилка, якщо там суму боргу тре "розмазувати" починаючи з найстарішого періоду з плюсовим сальдом боргу.
мне казалось что я все сформулировал предельно ясно
там и в другом ошибка - когда все суммы положительные
-
мне казалось
вот именно, "казалось"
Телепаты в отпуске, и угадать умолчания и контексты было некому
-
Первый класс вторая четверть
@sum = select sum(v) from t
Select max(v+@sum, 0) from t
И не насилуй больше форум :facepalm:
Йопт, немного не то написал :(
-
Понял свою ошибку - задача по дебильному поставлена.
Потому что положительные остатки будут в 3-й и 4-й периоды а не только в 3-й
-
Первый класс вторая четверть
@sum = select sum(v) from t
Select max(v+@sum, 0) from t
И не насилуй больше форум :facepalm:
Йопт, немного не то написал :(
совсем не то
причем надо было для postgresql
-
мне казалось
вот именно, "казалось"
Телепаты в отпуске, и угадать умолчания и контексты было некому
просто молодые программисты очень самоуверенны
не то что мы - старики