Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Выборка данных help  [new]
Владимир09
Member

Откуда:
Сообщений: 9
Добрый день. Столкнулся с проблемой выборки данных из таблицы. А именно имеется таблица продаж назовем ее table1 в которой есть конкретное время продажи для каждого товара, мне нужно посчитать сколько продаж было за определенный промежуток времени(по месяцам, по неделям, часам, 12 часов и т.д.) за отчетный год.
4 июн 18, 16:15    [21467193]     Ответить | Цитировать Сообщить модератору
 Re: Выборка данных help  [new]
Посетитель
Member

Откуда:
Сообщений: 1384
Владимир09,

и в чем же заключается проблема?
4 июн 18, 16:18    [21467206]     Ответить | Цитировать Сообщить модератору
 Re: Выборка данных help  [new]
Владимир09
Member

Откуда:
Сообщений: 9
Не знаю, как сделать это циклично, чтобы он выдал результат за год помесячно, понедельно
4 июн 18, 16:21    [21467218]     Ответить | Цитировать Сообщить модератору
 Re: Выборка данных help  [new]
Владимир09
Member

Откуда:
Сообщений: 9
Причем интересует только подсчет строк
4 июн 18, 16:22    [21467223]     Ответить | Цитировать Сообщить модератору
 Re: Выборка данных help  [new]
Посетитель
Member

Откуда:
Сообщений: 1384
Владимир09,

group by rollup
4 июн 18, 16:26    [21467239]     Ответить | Цитировать Сообщить модератору
 Re: Выборка данных help  [new]
Щукина Анна
Member

Откуда:
Сообщений: 1466
Владимир09,

Нашинковать дату на нужные компоненты (час, день, месяц, год), считать агрегаты требуемой точности по разным сочетаниям компонент при Помощи ROLLUP / cube / grouping sets
4 июн 18, 16:26    [21467240]     Ответить | Цитировать Сообщить модератору
 Re: Выборка данных help  [new]
Владимир09
Member

Откуда:
Сообщений: 9
А не могли бы вы написать, как запрос в целом будет выглядеть?
4 июн 18, 16:36    [21467279]     Ответить | Цитировать Сообщить модератору
 Re: Выборка данных help  [new]
Щукина Анна
Member

Откуда:
Сообщений: 1466
Владимир09
А не могли бы вы написать, как запрос в целом будет выглядеть?
в целом, запрос будет выглядеть симпатично
4 июн 18, 16:38    [21467285]     Ответить | Цитировать Сообщить модератору
 Re: Выборка данных help  [new]
Посетитель
Member

Откуда:
Сообщений: 1384
Владимир09,

в целом запрос будет выглядеть красиво.
особенно, если вы его отформатируете.

странные у вас ожидания. Вам лень даже задать вопрос по форме и с примерами, а ожидаете вы при этом готовый рабочий запрос.
4 июн 18, 16:40    [21467289]     Ответить | Цитировать Сообщить модератору
 Re: Выборка данных help  [new]
Владимир09
Member

Откуда:
Сообщений: 9
Да дело то не в лени, просто очень мало знаком еще с sql, а тем более с запросами, поэтому и прошу помощи. Книги читаю, но не получается. Уже пару месяце с этой выборкой бьюсь, а спросить не у кого.
4 июн 18, 16:49    [21467324]     Ответить | Цитировать Сообщить модератору
 Re: Выборка данных help  [new]
Посетитель
Member

Откуда:
Сообщений: 1384
Владимир09,

ну почитайте про datepart(или format, если версия позволяет). group by, rollup
информация доступна на оф.сайте.
4 июн 18, 17:00    [21467378]     Ответить | Цитировать Сообщить модератору
 Re: Выборка данных help  [new]
londinium
Member

Откуда: Киев
Сообщений: 1138
автор
Уже пару месяце с этой выборкой бьюсь...

Похвальное упорство
итак, есть такой набор данных
WITH Sell (Good_ID,PaymentSum,PaymentDate)
AS
(
  SELECT 1,50.00,'2018-02-26 15:37:00'
    UNION ALL
  SELECT 1,250.00,'2018-05-09 18:00:00'
   UNION ALL
 SELECT 100,500.00,'2017-12-31 23:59:01'
)

Что Вы из него хотите?
4 июн 18, 17:01    [21467384]     Ответить | Цитировать Сообщить модератору
 Re: Выборка данных help  [new]
aleks222
Member

Откуда:
Сообщений: 851
londinium
автор
Уже пару месяце с этой выборкой бьюсь...

Похвальное упорство
итак, есть такой набор данных
WITH Sell (Good_ID,PaymentSum,PaymentDate)
AS
(
  SELECT 1,50.00,'2018-02-26 15:37:00'
    UNION ALL
  SELECT 1,250.00,'2018-05-09 18:00:00'
   UNION ALL
 SELECT 100,500.00,'2017-12-31 23:59:01'
)

Что Вы из него хотите?


declare @table table( dt datetime, x int)
insert @table
  values('20180102', 1), ('20180202', 1), ('20190102', 1)
;

select year = datepart(year, dt), month = datepart(month, dt), count(*)
  from @Table
  group by datepart(year, dt), datepart(month, dt);

select year = datepart(year, dt), month = datepart(month, dt), count(*)
  from @Table
  group by datepart(year, dt), datepart(month, dt)
  with rollup;
4 июн 18, 17:03    [21467386]     Ответить | Цитировать Сообщить модератору
 Re: Выборка данных help  [new]
Владимир09
Member

Откуда:
Сообщений: 9
Спасибо большое... не совсем понятнр пока что. Буду пробовать на основе вашего запроса.
4 июн 18, 18:15    [21467618]     Ответить | Цитировать Сообщить модератору
 Re: Выборка данных help  [new]
Посетитель
Member

Откуда:
Сообщений: 1384
Владимир09,

Владимир, видимо, вам не лень потратить еще пару месяцев, чтобы пробовать.
Но я в очередной раз предлагаю - почитайте хотя бы конкретные темы и разберитесь в том, как работают предложенные примеры.
тогда доработать их под свои нужды(добавив нужные вам уровни группировки) не составит труда.
5 июн 18, 08:18    [21468500]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить