|
|
|
нарастающий итог (+)
|
|||
|---|---|---|---|
|
#18+
можно ли получить в селекте нарастающий итог? (не используя функции) 1; sum()=1 2; sum()=3 3; sum()=5 ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2008, 17:11:49 |
|
||
|
нарастающий итог (+)
|
|||
|---|---|---|---|
|
#18+
было где-то на форуме, через 'custom' переменные... только этож вызов функций... типа: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. правда оператор '+' - это же тоже функция :) -- „Истина — это вовсе не то, что можно убедительно доказать, это то, что делает всё проще и понятнее“ — Антуан де Сент-Экзюпери ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2008, 19:23:43 |
|
||
|
нарастающий итог (+)
|
|||
|---|---|---|---|
|
#18+
Пусть дана таблица T: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Тогда стандартными средствами, совместимыми с ANSI-SQL, решить поставленную задачу можно как минимум двумя способами: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2008, 05:31:36 |
|
||
|
нарастающий итог (+)
|
|||
|---|---|---|---|
|
#18+
в последней строчке должно быть пять или шесть ? -- „Истина — это вовсе не то, что можно убедительно доказать, это то, что делает всё проще и понятнее“ — Антуан де Сент-Экзюпери ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2008, 08:16:25 |
|
||
|
нарастающий итог (+)
|
|||
|---|---|---|---|
|
#18+
tadmin, вы правильно сформулировали вопрос. попробуйте поискать "нарастающий итог" по разделу postgresql на форуме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2008, 10:20:28 |
|
||
|
нарастающий итог (+)
|
|||
|---|---|---|---|
|
#18+
Всем спасибо! LeXa NalBat вы правильно сформулировали вопрос я вначале искал по неправильным словам, а потом сформулировал -( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2008, 15:18:19 |
|
||
|
нарастающий итог (+)
|
|||
|---|---|---|---|
|
#18+
Добрый Э - ЭхПусть дана таблица T: Отличный вариант! Есть слегка усложнённый вариант - 2 таблицы! 1 Таблица (IN): NUM 6 7 8 2 Таблица(OUT): NUM 2 3 Необходимо стандартными средствами, совместимыми с ANSI-SQL одним запросом вывести нарастающий итог, при этом значения второй таблицы должны не суммироваться с общим итогом, а вычитаться. Бьюсь с этим вопросом и не могу решить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2014, 18:26:28 |
|
||
|
нарастающий итог (+)
|
|||
|---|---|---|---|
|
#18+
HAL-LYNX, а в каком порядке должно происходить суммирование и вычитание входящих и исходящих значений? Так-то все просто - "слить" данные в одну кучу через UNION ALL, при суммирование входящие значения брать как есть, а исходящие - со знаком минус... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2014, 19:23:39 |
|
||
|
нарастающий итог (+)
|
|||
|---|---|---|---|
|
#18+
Добрый Э - ЭхHAL-LYNX, а в каком порядке должно происходить суммирование и вычитание входящих и исходящих значений? Так-то все просто - "слить" данные в одну кучу через UNION ALL, при суммирование входящие значения брать как есть, а исходящие - со знаком минус... Вижу надо добавить ID! Результат запроса должен выглядеть так (с ID): 1 _IN_ 6 6 2 _IN_ 7 13 3 _IN_ 8 21 4 OUT 2 19 5 OUT 3 16 UNION ALL я использовал да. У меня получается сделать нарастающий итог, если таблица одна, с двумя как-то не складывается ( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2014, 10:19:37 |
|
||
|
нарастающий итог (+)
|
|||
|---|---|---|---|
|
#18+
версия сервера поддерживает аналитические (оконные) функции? если да, то рекомендую делать через sum() over(order by ...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2014, 10:23:31 |
|
||
|
нарастающий итог (+)
|
|||
|---|---|---|---|
|
#18+
не поддрживает, надо в рамках ANSI Сейчас я пытаюсь для начала сделать нарастающий итог по двум таблицам, не обращая внимание на вычитание. Через UNION сделал запрос и не пойму как из него выбрать его же + добавить столбец с нарастающим итогом с одной таблицей у меня получается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2014, 10:39:29 |
|
||
|
нарастающий итог (+)
|
|||
|---|---|---|---|
|
#18+
ID - сквозной уникальный нумератор на обе таблицы? Или каждая таблица имеет свои ID и их значения могут пересекаться? Если ID уникально на обе таблицы, то можно так попробовать: ссылко ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2014, 11:08:49 |
|
||
|
нарастающий итог (+)
|
|||
|---|---|---|---|
|
#18+
Добрый Э - ЭхID - сквозной уникальный нумератор на обе таблицы? Или каждая таблица имеет свои ID и их значения могут пересекаться? Если ID уникально на обе таблицы, то можно так попробовать: ссылко Работает!) Спасибо!!! Проверил ID, да - каждая имеет свой (( Т.е. надо как-то иначе... возможно? Думаю как-то IN и OUT надо подвязать к ID и эту пару использовать как уникальный ID, я прав? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2014, 11:22:54 |
|
||
|
нарастающий итог (+)
|
|||
|---|---|---|---|
|
#18+
HAL-LYNX, придется предварительно уникально перенумеровать всё множество, после чего делать расчет накопительного итога... Как вариант лобового решения на стандартном ANSI-SQL: тынц Но я бы много и сильно подумал, перед тем как запускать такой запрос на пром.базе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2014, 11:40:01 |
|
||
|
нарастающий итог (+)
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх, Да, в песочнице сначала всё запускаю, пока не заработает. Сейчас мостырю всё это в свой исходный запрос, на основе тех, что ты дал) Спс тебе огромное!) У меня всё усложнено тем, что в простом варианте просто ID, а у меня Дата + ID - это ключ и эти пары могут повторяться в таблицах IN и OUT... сижу ковыряю, ещё не закончил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2014, 15:09:53 |
|
||
|
|

start [/forum/topic.php?fid=53&tid=1998713]: |
0ms |
get settings: |
5ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
177ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 193ms |
| total: | 422ms |

| 0 / 0 |
