いつもお世話になっております。cakephp3でのクエリーの組み立て方が全く考えつきません。
なにかアドバイスを頂けたらと思い質問させていただきました。
CSV
1会員番号,来店日,媒体 2608,2006/3/27,TV 3219,2002/12/31,NET 4965,1988/2/26,BOOK 5633,2013/5/13,リピーター //1ポイントGET!! 6765,2000/7/18,NET 7718,1984/5/8,TV 8155,2000/2/13,リピーター 9633,2013/4/23,BOOK //初来店 10867,2012/8/19,BOOK 11516,2004/7/11,NET 12・ 13・ 14・
上記のようなCSVがあります。
テレビや雑誌をみて来た新規の人が、1ヶ月以内に再来店したら、自動的にポイントをあげるようにしたいのですが、どのように実現すればよいでしょうか?
*上記CSVデータで言えば、会員番号633の人が該当します。
*ポイントは、集計時に見れればよいので、データベースに保存する必要はありません。
*ポイントをあげるのは、1ヶ月に来店した時のみの1回だけです。
何か考え方のヒントや、参考になるページなどのアドバイスでもなんでも良いので、ご教授頂けたらと思います。
よろしくお願いします。
追記
皆様のアドバイスを元に、考えてみたところ、部分単位での結果はなんとか出すことが出来ました。
sql
1select member_num,visitdate, 2(select count(*)+1 3 from post b 4 where b.member_num = a.member_num 5 and b.visitdate < a.visitdate) as Rn 6 from post a having Rn = 2
上記コードで2回目の来店日を出すことが出来ました。
要は、初めての来店日と2回目を比較して、1ヶ月以内ならポイントを付与したいのですが、ここから詰まってしまいました。(文法的にも合っているかどうかわかりませんが・・・)
Mysqlで実現出来るのかどうかわかりませんが、アドバイス頂けたらと思います。