2017-11-07 8 views
-1

상점 구매 기록이있는 표를 사용하고 있습니다. 구매 ID, 날짜 컬럼 및 고객 ID가 있습니다. 나는 두 가지를하기 위해 많은 노력을 기울이지 않고있다.현재 구매 시점에서 고객의 과거 구매 총계 열을 추가하고 재 방문 고객의 구매율을 찾습니다. - SQL

각 구매마다 고객이이 (지난 달) 전에 얼마나 많은 구매를했는지 알려주는 열을 추가한다. 나는 그 자체로 테이블에 가입함으로써 시작되었지만 훨씬 더 많이 얻지 못했다. 나는 그것이 어떻게 든 날짜를 걸러 낼 필요가 있다는 것을 안다. 그래서이 날짜 이전에 구매를 계산하고 한 달 전에 만 계산하기 때문이다. 이 문제를 해결할 수있는 간단한 방법에 대한 제안이 있으십니까?

제가보고 싶은 두 번째 사항은 매주 고객 트랜잭션을 반환하는 비율입니다. 즉, 최근 구매 한 사람 (지난 달)이 구입 한 구매의 비율입니다. 이상적으로 나는 이것을 날짜, 주간 합계 (날짜까지 최대 7 일) 및 주별 요율로 끝내기를 원하는 SQL 쿼리에서 그래프로 나타낼 수 있습니다. 나는 롤링 윈도우에서 읽고 있었고, 솔직히 말해서 나는 그 주위에 머리를 쓰는 데 약간의 어려움을 겪고있다. 불행히도 SQL 수준은 여전히 ​​매우 낮습니다. 이 작업을 수행하는 비교적 간단한 방법에 대한 정보는 많은 도움이됩니다. 감사합니다.

+2

너무 넓습니다. https://stackoverflow.com/help/how-to-ask – mikeb

+0

열을 추가하지 않아도 될 가능성이 높습니다. 즉석에서 이전에 구매 한 항목을 계산하십시오. 당신이 요구하는 것은 가능한 것 이상이며, 몇 가지 하위 쿼리가 필요할 것입니다. 질문을 부분으로 분해하고, 가지고있는 스키마와 시도한 SQL을 공유하십시오. 스택은 거기에서 가져갈 것입니다 ...이 같은 게시물은 그러나 닫힙니다. – Twelfth

답변

0

귀하의 질문에 더 잘 답변을 드리기 위해 귀하의 데이터 구조를 확인해야합니다. 하지만 내 머리 꼭대기에서 벗어나는 것은 단순한 SELECT COUNT가 필요한 것처럼 보입니다.

그래서 이런 일 지난 달에 만든 단일 고객의 모든 거래를 반환 : 설정에 작업을

두 번째 질문에 대해서는
SELECT COUNT(purchase_id) 
FROM purchases 
WHERE customer_id='some_customer_id' 
AND date >= DATEADD(m, -1, GETDATE()); 

아마 당신은 원하는 것 (젠킨스, 요법 ..) 그 매월 쿼리를 실행합니다. 그 결과는 당신이 음모를 꾸밀 것입니다. 체크 아웃 https://oss.oetiker.ch/rrdtool/ 그래프 작성