Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Web > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 26.06.2020, 23:28   #1
Ksanta_I
Новичок
Джуниор
 
Регистрация: 26.06.2020
Сообщений: 1
По умолчанию Выбор позиций, использующихся ежедневно

Здравствуйте.
Очень нужна помощь специалистов.
В sql я новичок. Сейчас бьюсь над одной задачей, сломала себе уже голову.
Ситуация такая - есть некая таблица, содержащая в себе обширный список товаров. Необходимо отслеживать, какие товары продаются ежедневно за определенный период времени (он задается и может быть произвольным). Товар может быть продан 1 раз в день или несколько раз, а может быть не продан совсем. В итоге должна быть таблица с названием только тех товаров, которые в течении всего заданного периода (месяц, неделя, 10 дней, год и т.д.) продавался каждый день хотя бы единожды.
Заранее спасибо за помощь.
С уважением...
Ksanta_I вне форума Ответить с цитированием
Старый 28.06.2020, 20:00   #2
Viktor61
Пользователь
 
Регистрация: 05.05.2018
Сообщений: 24
По умолчанию

Ув. Ksanta_I, для того, чтобы получить внятный ответ, нужно внятно задать вопрос.
Цитата:
Сообщение от Ksanta_I Посмотреть сообщение
некая таблица
Структура таблицы (Вы уверены, что данные содержаться только в одной таблице, а не в нескольких связанных таблицах?). Какие столбцы содержит "таблица", параметры, размерность). И т.д. и т.п. Только после получения дополнительных сведений, возможно, в чем-то помочь. Здесь нет телепатов...
Viktor61 вне форума Ответить с цитированием
Старый 29.06.2020, 00:24   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,054
По умолчанию

1. с одной таблицей
Код:
select товар, count(s) 
from ( --- продажи в течения дня
         select товар, день, 1 as s 
         from ... 
         where день ... -- за необходимый период
         group by товар, день
       )
group by товар
having count(s)= ... --число дней в периоде
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 29.06.2020, 10:49   #4
Viktor61
Пользователь
 
Регистрация: 05.05.2018
Сообщений: 24
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
select товар, count(s)
from ( --- продажи в течения дня
select товар, день, 1 as s
from ...
where день ... -- за необходимый период
group by товар, день
)
group by товар
having count(s)= ... --число дней в периоде
Для Firebird'a
Одна таблица tovar, первичный ключ ID и т.д.
Код:
create table Tovar 
Id integer not null,
nam_tov VarChar(50),
Den date,
CONSTRAINT PK_ID PRIMARY KEY (Id)
);

commit work;


select Id, count(s) 
from ( --- продажи в течения дня
         select Id, Den, 1 as s 
         from tovar
         where Den = '02.03.2020' -- за необходимый период
         group by Id, Den
       )
group by ID
having count(s)= 31; --... --число дней в периоде

Последний раз редактировалось Viktor61; 29.06.2020 в 11:34.
Viktor61 вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определить сколько километров пробегал спортсмен ежедневно в течение недели ALena77 Помощь студентам 0 16.11.2019 22:24


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS