質問編集履歴
1
誤字の修正、追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
|
6
6
|
|
7
|
-
```
|
7
|
+
```CSV
|
8
8
|
|
9
9
|
会員番号,来店日,媒体
|
10
10
|
|
@@ -36,13 +36,13 @@
|
|
36
36
|
|
37
37
|
```
|
38
38
|
|
39
|
-
上記のようなS
|
39
|
+
上記のようなCSVがあります。
|
40
40
|
|
41
41
|
テレビや雑誌をみて来た新規の人が、1ヶ月以内に再来店したら、自動的にポイントをあげるようにしたいのですが、どのように実現すればよいでしょうか?
|
42
42
|
|
43
43
|
|
44
44
|
|
45
|
-
*上記S
|
45
|
+
*上記CSVデータで言えば、会員番号633の人が該当します。
|
46
46
|
|
47
47
|
*ポイントは、集計時に見れればよいので、データベースに保存する必要はありません。
|
48
48
|
|
@@ -53,3 +53,35 @@
|
|
53
53
|
何か考え方のヒントや、参考になるページなどのアドバイスでもなんでも良いので、ご教授頂けたらと思います。
|
54
54
|
|
55
55
|
よろしくお願いします。
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
**追記**
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
皆様のアドバイスを元に、考えてみたところ、部分単位での結果はなんとか出すことが出来ました。
|
64
|
+
|
65
|
+
|
66
|
+
|
67
|
+
```sql
|
68
|
+
|
69
|
+
select member_num,visitdate,
|
70
|
+
|
71
|
+
(select count(*)+1
|
72
|
+
|
73
|
+
from post b
|
74
|
+
|
75
|
+
where b.member_num = a.member_num
|
76
|
+
|
77
|
+
and b.visitdate < a.visitdate) as Rn
|
78
|
+
|
79
|
+
from post a having Rn = 2
|
80
|
+
|
81
|
+
```
|
82
|
+
|
83
|
+
上記コードで2回目の来店日を出すことが出来ました。
|
84
|
+
|
85
|
+
要は、初めての来店日と2回目を比較して、1ヶ月以内ならポイントを付与したいのですが、ここから詰まってしまいました。(文法的にも合っているかどうかわかりませんが・・・)
|
86
|
+
|
87
|
+
Mysqlで実現出来るのかどうかわかりませんが、アドバイス頂けたらと思います。
|