質問編集履歴
1
誤字の修正、追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
いつもお世話になっております。cakephp3でのクエリーの組み立て方が全く考えつきません。
|
2
2
|
なにかアドバイスを頂けたらと思い質問させていただきました。
|
3
3
|
|
4
|
-
```
|
4
|
+
```CSV
|
5
5
|
会員番号,来店日,媒体
|
6
6
|
608,2006/3/27,TV
|
7
7
|
219,2002/12/31,NET
|
@@ -17,12 +17,28 @@
|
|
17
17
|
・
|
18
18
|
・
|
19
19
|
```
|
20
|
-
上記のような
|
20
|
+
上記のようなCSVがあります。
|
21
21
|
テレビや雑誌をみて来た新規の人が、1ヶ月以内に再来店したら、自動的にポイントをあげるようにしたいのですが、どのように実現すればよいでしょうか?
|
22
22
|
|
23
|
-
*上記
|
23
|
+
*上記CSVデータで言えば、会員番号633の人が該当します。
|
24
24
|
*ポイントは、集計時に見れればよいので、データベースに保存する必要はありません。
|
25
25
|
*ポイントをあげるのは、1ヶ月に来店した時のみの1回だけです。
|
26
26
|
|
27
27
|
何か考え方のヒントや、参考になるページなどのアドバイスでもなんでも良いので、ご教授頂けたらと思います。
|
28
|
-
よろしくお願いします。
|
28
|
+
よろしくお願いします。
|
29
|
+
|
30
|
+
**追記**
|
31
|
+
|
32
|
+
皆様のアドバイスを元に、考えてみたところ、部分単位での結果はなんとか出すことが出来ました。
|
33
|
+
|
34
|
+
```sql
|
35
|
+
select member_num,visitdate,
|
36
|
+
(select count(*)+1
|
37
|
+
from post b
|
38
|
+
where b.member_num = a.member_num
|
39
|
+
and b.visitdate < a.visitdate) as Rn
|
40
|
+
from post a having Rn = 2
|
41
|
+
```
|
42
|
+
上記コードで2回目の来店日を出すことが出来ました。
|
43
|
+
要は、初めての来店日と2回目を比較して、1ヶ月以内ならポイントを付与したいのですが、ここから詰まってしまいました。(文法的にも合っているかどうかわかりませんが・・・)
|
44
|
+
Mysqlで実現出来るのかどうかわかりませんが、アドバイス頂けたらと思います。
|