С Новым годом! Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/47: Рейтинг темы: голосов - 47, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 26.05.2014
Сообщений: 96

Поиск доли от общего

07.07.2019, 12:05. Показов 9165. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Помогите пожалуйста с задачей поиска доли от общего количества по условию.
Есть таблица со столбцами ид, день, час, сумма.
Нужно найти доли от общего за час, в которых сумма >10. Т.е например если день и час в двух строчках совпадают, а в одной строке 15, в другой 5, то тогда доля = 50%.
Через поиск количества и соединением на саму себя я сам смог сделать, можно ли решить задачу через какую-нибудь функцию, чтоб не пришлось соединять с собой табличку?

id datehoursum
101.05.20192120
202.05.201928
302.05.2019512
402.05.2019514
502.05.2019215
602.05.20192211
703.05.201976
803.05.2019715
903.05.20191110
1003.05.20191220
1103.05.20191220
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.07.2019, 12:05
Ответы с готовыми решениями:

Поиск общего элемента 2 массивов
Имеется 2 массива: А-длиной 248832 В-длиной 20736. Известно,что какой-то элемент массива В есть в массиве А(может и не один,но нам...

Поиск общего члена ряда
Необходимо разложить функцию в ряд Маклорена и найти ее интеграл на отрезке с точностью \varepsilon = 0.01. Разложив до 171 члена ряда...

Поиск наибольшего общего делителя
Всем привет. Мне нужна ваша помощь. Не могу разобраться даже в элементарных циклических алгоритмах. Задавали д.з возведение в степень...

6
5954 / 4530 / 1094
Регистрация: 29.08.2013
Сообщений: 28,123
Записей в блоге: 3
07.07.2019, 21:02
Цитата Сообщение от Ace23000 Посмотреть сообщение
то тогда доля = 50%.
доля чего?

а если таких строки 3 - то 33,3333?
0
0 / 0 / 0
Регистрация: 26.05.2014
Сообщений: 96
07.07.2019, 22:25  [ТС]
Доля от всех за час, если за час было 3 всего, и 1 больше 10, то да 33.33%
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
08.07.2019, 10:43
T-SQL
1
2
3
4
5
select
 ид, день, час, сумма,
 case when max(сумма) over (partition by день, час) > 10 then 100. / count(*) over (partition by день, час) end
from
 таблица
0
0 / 0 / 0
Регистрация: 26.05.2014
Сообщений: 96
08.07.2019, 15:51  [ТС]
Неправильно работает, в этом коде, если максимальная сумма в группе больше 10 она сразу считает ее долю, но если еще 1 больше 10, то надо складывать эти доли.
Например строки 10 и 11, по коду доля в обеих строчках будет 50 проц, но на самом деле правильно 100, т.к все суммы больше 10.
iddatehoursum
101.05.20192120
202.05.201928
302.05.2019512
402.05.2019514
502.05.2019215
602.05.20192211
703.05.201976
803.05.2019715
903.05.20191110
1003.05.20191220
1103.05.20191220

Добавлено через 11 минут
Получается нужно сделать группировку по день, час, и суммировать сумму.
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
08.07.2019, 15:55
Лучший ответ Сообщение было отмечено Ace23000 как решение

Решение

T-SQL
1
2
3
4
5
select
 ид, день, час, сумма,
 sum(case when сумма > 1 then 1 else 0 end) over (partition by день, час) * 100. / count(*) over (partition by день, час)
from
 таблица
1
0 / 0 / 0
Регистрация: 26.05.2014
Сообщений: 96
08.07.2019, 16:12  [ТС]
Точно, спасибо большое!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.07.2019, 16:12
Помогаю со студенческими работами здесь

Поиск максимального общего подсписка в списках
Добрый день! (Или ночь). Всех наступившим Новым Годом! Прошу помощи в решении следующей задачи: Мне необходимо найти максимальный...

Нужно упростить поиск наибольшего общего делителя (НОД)
Нужно написать функцию, вычисляющую наибольший общий делитель чисел a и b. Сделать это нужно используя только базовые примитивы. В...

Рекурсия: поиск наибольшего общего делителя двух чисел
Помогите плиз... Нахождение наибольшего общего делителя двух чисел.

Поиск одного общего значения в таблице для набора аргументов
Всем доброго времени суток ! Нужна ваша помощь в решении вопроса. Есть две таблицы A ...

Поиск определённого текста в разных вкладках и подсчёт их общего количества
Во вкладке 1 и 2 имеется определённое количество разных городов (Москва, Новосибирск и т.д. многие из них повторяются) К примеру во вкладке...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru