powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Аналитические функции
13 сообщений из 13, страница 1 из 1
Аналитические функции
    #39556340
SkinDiamond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток всем
У меня есть таблица с некоторыми данными,например:
Код Имя Сумма
1 Иван 124
1 Иван 155
2 Андрей 173
2 Андрей 216
3 Игорь 312
3 Игорь 104
4 Василий 506
4 Василий 32
5 Петр 11
5 Петр 13

Вопрос состоит в том,что нужно чтобы подсчитывалась общая сумма по каждому коду,то есть сумма по всем строкам с кодом 1,2 и т.д и чтобы это общая сумма отображалась рядом с каждой строкой с одним кодом+ в конце общая сумма всех полей
Знаю что это можно как то сделать с помощью аналитических функций,но не знаю как их правильно использовать
...
Рейтинг: 0 / 0
Аналитические функции
    #39556342
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SkinDiamondс помощью аналитических функций,но не знаю как их правильно использоватьТ.е. даже не попробовал, а сразу на форум?
...
Рейтинг: 0 / 0
Аналитические функции
    #39556343
SkinDiamond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Elic,
Попробовал,но из за незнания правильного синтаксиса,получалась абсолютная ерунда
...
Рейтинг: 0 / 0
Аналитические функции
    #39556345
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SkinDiamondиз за незнания правильного синтаксиса,получалась абсолютная ерунда
Правильный синтаксис тут:
https://docs.oracle.com/cloud/latest/db112/SQLRF/functions004.htm#SQLRF06174
...
Рейтинг: 0 / 0
Аналитические функции
    #39556346
SkinDiamond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey_anonymous,Благодарю
...
Рейтинг: 0 / 0
Аналитические функции
    #39556543
Dshedoo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SkinDiamond,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
with q as (select 1 as code, 'Иван' as name, 124 as sum from dual union all
select 1, 'Иван', 155 from dual union all
select 2, 'Андрей', 173 from dual union all
select 2, 'Андрей', 216 from dual union all
select 3, 'Игорь', 312 from dual union all
select 3, 'Игорь', 104 from dual union all
select 4, 'Василий', 506 from dual union all
select 4, 'Василий', 32 from dual union all
select 5, 'Петр', 11 from dual union all
select 5, 'Петр', 13 from dual)

select q.code
     , q.name
     , q.sum
     , sum(sum) OVER(partition by code) as "sum(code)"
     , sum(sum) OVER() as "sum(all)" from q
...
Рейтинг: 0 / 0
Аналитические функции
    #39557760
avanyugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне кажется тс имел ввиду:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
with q as (select 1 as code, 'Иван' as name, 124 as sum from dual union all
select 1, 'Иван', 155 from dual union all
select 2, 'Андрей', 173 from dual union all
select 2, 'Андрей', 216 from dual union all
select 3, 'Игорь', 312 from dual union all
select 3, 'Игорь', 104 from dual union all
select 4, 'Василий', 506 from dual union all
select 4, 'Василий', 32 from dual union all
select 5, 'Петр', 11 from dual union all
select 5, 'Петр', 13 from dual)
select code, sum(sum) sum from q
group by rollup(code)
...
Рейтинг: 0 / 0
Аналитические функции
    #39558022
SkinDiamond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
avanyugin,Да,именно это,спасибо
...
Рейтинг: 0 / 0
Аналитические функции
    #39558027
SkinDiamond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте
У меня имеется таблица вида
Код Имя Сумма
1 Игорь 300
Строк большое кол-во
У меня возникло две проблемы,первая это нужно посчитать долю суммы каждой строки от общей суммы по каждому коду,т.е общая сумма для кода 1 одна,для кода 2 другая и так далее
Вторая проблема заключается в том,что итоговая сумма может быть равна нулю,то есть допустим у первой строки сумма -200,у второй +200,в итоге 0,как учесть такой вариант развития события и избежать ошибок

Заранее прошу не ругать меня,только учусь работать с ORACLE
...
Рейтинг: 0 / 0
Аналитические функции
    #39558030
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.sql.ru/forum/rules.aspx Рекомендации
Не рекомендуется:
Публиковать сообщения с бессмысленными темами. Например: <Люди помогите>, <Проблема!!>, <Срочно нужна помощь!>, <может знаете?> и т.д.


Создавать несколько топиков с одинаков ой темой .
...
Рейтинг: 0 / 0
Аналитические функции
    #39558031
SkinDiamondСтрок большое кол-вовыражаясь формальным языком - более одной.

SkinDiamondнужно посчитатьРешение зависит от имеющихся навыков. Я бы рекомендовал счетные палочки.

SkinDiamondизбежать ошибокЧтобы чего избежать нужно сначала это что-то получить.
...
Рейтинг: 0 / 0
Аналитические функции
    #39558032
SkinDiamond,

тогда встречный вопрос - какую долю "минус двести" будет составлять от нуля?

как определишься с ответом, почитай про ratio_to_report()
...
Рейтинг: 0 / 0
Аналитические функции
    #39558036
SkinDiamond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Э - Эх,

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


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