이 것은 매우 까다롭기 때문에 하루 종일 머리를 긁적 거리고 있습니다.마지막 기간에 별개의 값을 계산하는 MySQL 프로 래터 티
은 내가 '서브 고객의
ID | NAME
=======+===========
1 | JOHN
2 | JACK
3 | Elwood
내가 구독에 구입 한 항목을 포함하는 테이블이 (도매 계정을 포함하는 테이블이 테이블에 포함 된 청구 기간
ID | DATEBEGIN | DATEEND | CUSTOMER_ID
=======+===========+==========+=================
1 | 1/1/2011 | 30/1/2011 | 1
이
ID | DATE | SUBCUSTOMER_ID | CUSTOMER ID
=======+===========+================+==============
1 | 15/1/2011 | 1 | 1
2 | 18/1/2011 | 1 | 1
3 | 25/1/2011 | 2 | 1
4 | 28/1/2011 | 3 | 1
그래서 '크레딧'을 계산하여 계정에서 공제하고 싶습니다. 따라서 구독자 구매는 '하위 고객'당입니다.
따라서 청구 기간이 끝날 때 (첫 번째 표에서 30/1/2011). 나는 차별적 인 하위 고객을 세어야한다 (3 명있다). 그들은 청구 기간 동안 첫 구매로부터 비례 배분됩니다.
Days Having Subscription | SUBCUSTOMER_ID | Pro Rata Rate | CUSTOMER_ID
==========================+===================+==================+==============
3 | 3 | 3/30 | 1
6 | 2 | 6/30 | 1
16 | 1 | 16/30 | 1
출력 그러므로 내가 이전에 그들이 청구 날짜 이전 항목 일일 구입하는 경우에도 전체 기간을 청구하는 부당한 것, 비례를 계산해야
CUSTOMER_ID | BILLING CREDITS
============+========================
1 | 25/30
을해야한다
당신은 반드시 구독은'1'에 의해 상쇄되지 않습니다 있습니까? '1'과 '30'둘 다 포함되지만 '28 ','29 ','30 '에서 고객'4 '가 활성화 된 경우'30 '으로 나누면'2 '가 아닌'3 '일이됩니다. '. – Quassnoi
당신이 맞다고 생각합니다. 올바른 오프셋으로 업데이트 할 것입니다. – Akshat