|
Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней
|
|||
---|---|---|---|
#18+
Здравствуйте! Необходимо определить максимальную суммарную продажу за каждые 5 подряд идущих дней (т.е сумма 1-5 день, 2-6 и т.д). Помогите, пожалуйста. Заранее благодарю ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2014, 02:57 |
|
Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней
|
|||
---|---|---|---|
#18+
Ammalira, Загоняем значения в стек, вычисляем максимум и запоминаем его положение в стеке. Каждое новое значение контролируем на макс и переназначаем его, если так. Когда значение, соответствующее текущему макс выдавливается из стека, снова пересчитываем стек на макс и т.д.. Код м.б. по-разному оптимизирован в зависимости от характера поступающих данных. А какие у тебя соображения? В архиве accdb ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2014, 08:29 |
|
Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней
|
|||
---|---|---|---|
#18+
Mina Anna Mazzini, Если честно, я очень плохо разбираюсь в SQL, поэтому не совсем понимаю как можно реализовать данную задачу. Находила тему, где подсчитывалась максимальная сумма за каждые 2 дня, но так и не смогла переделать. =( ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2014, 08:40 |
|
Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней
|
|||
---|---|---|---|
#18+
Ammalira, я с SQL тоже "на Вы" и мой алгоритм чисто вычислительный. Но, мне будет очень интересно посмотреть на решение задачи скользящего макса через запрос :) авторНаходила тему, где подсчитывалась максимальная сумма за каждые 2 дня, но так и не смогла переделать. =( За два дня не интересно и не показательно - слишком уж частный случай. Но, ты бы найденную ссылку хоть дала - вдруг кто решится тебе помочь, так пригадится... Впрочем, так скорее всего просто обращение идет к предыдущему значению... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2014, 09:23 |
|
Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней
|
|||
---|---|---|---|
#18+
Mina Anna Mazzini, Прилагаю ссылки, может действительно будет проще оттолкнуться от этого. http://www.sql.ru/forum/1025558/nuzhno-poschitat-maksimalnuu-summu-podryad-idushhih-periodov http://www.cyberforum.ru/ms-access/thread881096.html Сейчас еще сяду и буду пытаться самостоятельно разобраться, но вчера за полдня у меня так ничего и не получилось =( ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2014, 09:43 |
|
Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней
|
|||
---|---|---|---|
#18+
Ammalira, по моему qwerty112 всё очень доступно изложил, для вашего примера это будет выглядеть так Код: vbnet 1. 2. 3.
где 24 - это число записей в вашей табличке минус 4 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2014, 10:30 |
|
Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней
|
|||
---|---|---|---|
#18+
guest_rusimport, Спасибо огромное, просто преогромнейшее! Подскажите, а как сделать так, чтоб выводились в итоге не все суммы а только одна, максимальная? Чувствую себя полным нубом. Спасибо Вам за помощь! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2014, 10:45 |
|
Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней
|
|||
---|---|---|---|
#18+
guest_rusimport, я правильно понимаю из этого запроса, что в общем случае вначале надо подсчитать кол-во записей в таблице, а сам запрос формировать каждый раз заново согласно заданному периоду скользящего? Он, вообще, взлетит, на, скажем, 1 мио записей и периоде, допустим, 189? Да и сама строка запроса, вроде, не резиновая... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2014, 11:21 |
|
Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней
|
|||
---|---|---|---|
#18+
Ammalira, авторПодскажите, а как сделать так, чтоб выводились в итоге не все суммы а только одна, максимальная? здесь не понял, разъясните Mina Anna Mazzini , этот запрос можно формировать динамически (через VBA, подсчитывая там значение для TOP)... ограничения на длину текста запроса , конечно, присутствуют, и их надо учитывать ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2014, 11:33 |
|
Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней
|
|||
---|---|---|---|
#18+
guest_rusimport, Нужно сначала посчитать все суммы, но сделать так, чтобы итоге из этих сумм выводилась только одна, наибольшая из них. Это возможно реализовать в одном запросе? Или необходимо будет делать два разных: сначала на подсчет сумм, а потом на определение максимального числа? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2014, 11:44 |
|
Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней
|
|||
---|---|---|---|
#18+
Ammaliraguest_rusimport, Нужно сначала посчитать все суммы, но сделать так, чтобы итоге из этих сумм выводилась только одна, наибольшая из них. Это возможно реализовать в одном запросе? Или необходимо будет делать два разных: сначала на подсчет сумм, а потом на определение максимального числа? Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2014, 11:56 |
|
Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней
|
|||
---|---|---|---|
#18+
guest_rusimport, Просто огромнейшее Вам спасибо! Это именно то, что мне было нужно. Вы меня буквально спасли) Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2014, 12:01 |
|
Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней
|
|||
---|---|---|---|
#18+
Еще такой вариант Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2014, 14:58 |
|
Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней
|
|||
---|---|---|---|
#18+
Опоздавший, Красиво! А чего стесняетесь под постоянным ником публиковать? Не понятно ж -скромность или ,наоборот, высокомерие? Темны и не понятны бывают "закоулки" души человеческой, самих себя иногда не узнаем и боимся:) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2014, 09:15 |
|
Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней
|
|||
---|---|---|---|
#18+
guest_rusimportОпоздавший, Красиво! А чего стесняетесь под постоянным ником публиковать? Не понятно ж -скромность или ,наоборот, высокомерие? Темны и не понятны бывают "закоулки" души человеческой, самих себя иногда не узнаем и боимся:) "Сам такой!" ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2014, 11:31 |
|
Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней
|
|||
---|---|---|---|
#18+
Quiet333, не безгрешен, каюсь :) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2014, 12:41 |
|
Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней
|
|||
---|---|---|---|
#18+
Еще раз спасибо всем за помощь! Я понимаю, что этот форум посвящен SQL, но может все-таки кто-нибудь сможет помочь реализовать эту же задачу, но только при помощи конструктора запросов? Или хотя бы намекнет как это можно было бы сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2014, 12:41 |
|
Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней
|
|||
---|---|---|---|
#18+
Конструктор запросов - малопригодный инструмент. В реальных задачах неизбежно приходится писать нормальный скл код нормальным способом. Один из аргументов за АДП, где запросы пишутся по-человечески со всеми сервисными функциями. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2014, 13:14 |
|
Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней
|
|||
---|---|---|---|
#18+
П-Л, Это я понимаю, но задача, как выяснилось, состоит в том, чтоб сделать именно через конструктор. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2014, 13:33 |
|
Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней
|
|||
---|---|---|---|
#18+
Ammalira... задача, как выяснилось, состоит в том, чтоб сделать именно через конструктор. Если выложенный мною запрос записать несколько по иному Код: sql 1. 2. 3. 4. 5. 6.
то он будет представим а режиме конструктора. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2014, 11:29 |
|
Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней
|
|||
---|---|---|---|
#18+
Опоздавший, Не могу сообразить как даты выразить через конструктор. Нельзя создавать отдельный запрос для каждой группы из 5 дат, необходимо собрать это все вместе каким-то образом. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2014, 14:48 |
|
Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней
|
|||
---|---|---|---|
#18+
AmmaliraНе могу сообразить как даты выразить через конструктор. Не понял. Но на всякий случай: слово Дата - это имя поля в таблице Задание. AmmaliraНельзя создавать отдельный запрос для каждой группы из 5 дат, необходимо собрать это все вместе каким-то образом. Данный запрос является решением задачи AmmaliraНеобходимо определить максимальную суммарную продажу за каждые 5 подряд идущих дней (т.е сумма 1-5 день, 2-6 и т.д). Если же возникло желание посмотреть суммарные продажи по всем группам из 5 подряд идущих дней, то уберите в запросе предикат Top 1 , который в совокупности с заданной сортировкой позволяет найти (и показать) группу с максимальным значением суммы продаж. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2014, 18:23 |
|
Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней
|
|||
---|---|---|---|
#18+
Опоздавший, Смотрите, цель состоит в том, чтобы посчитать максимальную сумму, используя конструктор запросов, а не SQL код. Я пробовала сделать таким образом: 1. Первый запрос на создание таблицы, с интервалом дат с 1 по 5. 2. Второй запрос на добавление строки в таблицу с интервалом со 2 по 6. 3. Еще 22 запроса на добавление, учитывая все последующие интервалы. 4. Последний запрос на выборку, на выведение максимальной суммы. Мне сказали, что это слишком громоздко и что необходимо придумать решение, которое могло бы использоваться и в большем временном интервале, например, за квартал или за год. Не создавать же в таком случае 1000 запросов. Решение есть, но я никак не могу уловить как выразить все эти даты через один запрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2014, 18:47 |
|
Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней
|
|||
---|---|---|---|
#18+
AmmaliraСмотрите, цель состоит в том, чтобы посчитать максимальную сумму, используя конструктор запросов Так оговорено о последнем запросе Опоздавший... он будет представим а режиме конструктора Подробная инструкция . Копируете мой последний запрос в буфер обмена. 2. Создаете новый запрос, отказываясь от добавления таблиц. 3. Переходите в режим SQL и вставляете скопированный запрос. 4. Переходите в режим конструктора. 5. Изучаете. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2014, 19:27 |
|
Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней
|
|||
---|---|---|---|
#18+
Опоздавший, Изучать то изучаю, но меня смущают две таблицы Т1 и Т2, которых как бы не существует и которые берутся в качестве имен таблиц в конструкторе. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2014, 20:21 |
|
|
start [/forum/topic.php?fid=45&msg=38634286&tid=1611233]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
157ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 257ms |
0 / 0 |