Невозможно проверить вывод запроса в MySQL с помощью window_functions - PullRequest
0 голосов
/ 01 мая 2020

Я написал запрос для решения проблемы, но я не могу проверить его как ориентированный на псевдокод. Я надеюсь, что кто-то может просмотреть этот запрос и сказать мне, если я что-то упустил. Заранее спасибо.

Проблема:
Найти всех пользователей, которые купили у одного и того же продавца хотя бы за три недели в течение 1 месяца и которые потратили суммы покупки, которые находятся в пределах 5% друг друга.

Мой запрос:

select distinct a.customer_id, a.purchase_date 

from 
(
select 
  customer_id,
  retailer,
  purchase_date,
  WEEK(purchase_date)as wk,
  purchase_amount,
  Lag(purchase_amount) over (partition by customer_id,retailer) as previous_amt,
  Lag(WEEK(purchase_date)) over (partition by customer_id,retailer) as previous_wk,
  count(WEEK(purchase_date)) over (partition by customer_id,retailer)count
  from tbl
)a 

where (a.wk-a.previous_wk)<(1/7)*30 
and a.count>2
and abs(a.purchase_amount-a.previous_amt)/a.purchase_amount <=0.05

Пожалуйста, дайте мне знать, если вы обнаружите какие-либо проблемы с этим запросом. Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...