У меня есть 4 столбца в таблице «Доставка»: «Идентификатор клиента», «Имя клиента», «Адрес доставки» и «Дата выставления счета». Идентификатор клиента - это уникальный идентификатор в этой таблице.

У меня есть 6-месячный период дат, с 13.02.2014 по 13.08.2014, в котором содержится 60 000 записей. Каждая запись имеет эти четыре столбца, и они не могут быть пустыми. Мне нужно разделить этот 6-месячный период на блоки по 7 дней в неделю, охватывающие все 6 месяцев, а затем подсчитать количество записей, которые появляются более одного раза с одним и тем же идентификатором клиента и адресом доставки за 7-дневные недели.

Моя конечная цель - выяснить, сколько наших клиентов получают доставку более одного раза в неделю на один и тот же адрес доставки. Если есть какая-либо запись, которая появляется более одного раза с одним и тем же идентификатором клиента и адресом доставки, это будет означать, что это доставка.

Кикер в том, что мне все равно, есть ли несколько записей с одним и тем же идентификатором клиента и адресом доставки, если они находятся в один и тот же день. Мне все еще нужно знать, что на этот день есть запись, но мне все равно, сколько их.

sql
-1
Amicheals 13 Авг 2014 в 19:44
1
Одна вещь, которую вы можете сделать, - это немного лучше отформатировать свой вопрос. Стены текста трудно читать.
 – 
Kyle Gobel
13 Авг 2014 в 19:53

1 ответ

Лучший ответ

Что-нибудь в этом роде может помочь вам начать:

SELECT ShippingAddress, DATEPART(wk, InvoiceDate), COUNT(*) AS countForWeek
  FROM shipping
  GROUP BY ShippingAddress, DATEPART(wk, InvoiceDate)
  HAVING COUNT(*) > 1
0
Glenn 13 Авг 2014 в 20:15
Как вы поместили этот sql-код в комментарий. Вы скопировали и вставили его из редактора sql?
 – 
Amicheals
28 Авг 2014 в 04:29
Строки в квадратных скобках с символом обратной галочки, например so and so (т. Е. Этот символ: `), форматируются как код.
 – 
Pieter Geerkens
28 Авг 2014 в 07:59