回答編集履歴

13

SQL文の修正

2021/09/18 13:37

投稿

mayu-
mayu-

スコア335

test CHANGED
@@ -40,7 +40,7 @@
40
40
 
41
41
  ##更に追記:
42
42
 
43
- シンプルにできたかも。`id`も使わない。
43
+ シンプルにできたかも。※ver`9.4`以降
44
44
 
45
45
  ```SQL
46
46
 
@@ -48,7 +48,7 @@
48
48
 
49
49
  , count( distinct user_id ) 日別UU
50
50
 
51
- , sum( count( distinct case when ymd = f then user_id end ) )
51
+ , sum( count( distinct user_id ) filter( where ymd = f ) )
52
52
 
53
53
  over( order by ymd ) 通算UU
54
54
 
@@ -60,7 +60,7 @@
60
60
 
61
61
  , user_id
62
62
 
63
- , min( tx."date" ) over ( partition by user_id ) f
63
+ , min( tx."date" ) over( partition by user_id ) f
64
64
 
65
65
  FROM tx
66
66
 
@@ -128,7 +128,7 @@
128
128
 
129
129
  , ( 7, '1970-01-06' )
130
130
 
131
- ;
131
+ ;
132
132
 
133
133
 
134
134
 

12

SQLの条件表記を略すことにした

2021/09/18 13:37

投稿

mayu-
mayu-

スコア335

test CHANGED
@@ -48,7 +48,7 @@
48
48
 
49
49
  , count( distinct user_id ) 日別UU
50
50
 
51
- , sum( count( distinct case when ymd = f then user_id else null end ) )
51
+ , sum( count( distinct case when ymd = f then user_id end ) )
52
52
 
53
53
  over( order by ymd ) 通算UU
54
54
 

11

SQL文中のミスを修正

2021/09/18 06:38

投稿

mayu-
mayu-

スコア335

test CHANGED
@@ -46,7 +46,7 @@
46
46
 
47
47
  SELECT ymd 年月日
48
48
 
49
- , count( distinct ymd ) 日別UU
49
+ , count( distinct user_id ) 日別UU
50
50
 
51
51
  , sum( count( distinct case when ymd = f then user_id else null end ) )
52
52
 

10

SQLのロジックを追記

2021/09/18 06:09

投稿

mayu-
mayu-

スコア335

test CHANGED
@@ -38,6 +38,40 @@
38
38
 
39
39
 
40
40
 
41
+ ##更に追記:
42
+
43
+ シンプルにできたかも。`id`も使わない。
44
+
45
+ ```SQL
46
+
47
+ SELECT ymd 年月日
48
+
49
+ , count( distinct ymd ) 日別UU
50
+
51
+ , sum( count( distinct case when ymd = f then user_id else null end ) )
52
+
53
+ over( order by ymd ) 通算UU
54
+
55
+ FROM
56
+
57
+ (
58
+
59
+ SELECT tx."date" ymd
60
+
61
+ , user_id
62
+
63
+ , min( tx."date" ) over ( partition by user_id ) f
64
+
65
+ FROM tx
66
+
67
+ ) q
68
+
69
+ GROUP BY ymd ;
70
+
71
+ ```
72
+
73
+
74
+
41
75
  ##追記:
42
76
 
43
77
  新規登録の`user_id`が存在しない日でも

9

SQLを極力シンプルな記述に変更

2021/09/18 05:02

投稿

mayu-
mayu-

スコア335

test CHANGED
@@ -24,6 +24,8 @@
24
24
 
25
25
  過去日に登場した`user_id`は当日に再度現れてもカウントしない。
26
26
 
27
+ # 実績のある`user_id`の個体数を算出したいのではないか、と推測
28
+
27
29
 
28
30
 
29
31
  また、初回登録された日に`user_id`がユニークな値にならないのは
@@ -38,11 +40,9 @@
38
40
 
39
41
  ##追記:
40
42
 
41
- あまり良い記述とは思えませんけど
42
-
43
43
  新規登録の`user_id`が存在しない日でも
44
44
 
45
- 日別UU と 通算UU が両方とも表示されるようにはしておきます
45
+ 日別UU と 通算UU が両方とも表示されるよう外部結合を適用
46
46
 
47
47
 
48
48
 
@@ -98,136 +98,104 @@
98
98
 
99
99
 
100
100
 
101
+ SELECT x.ymd 年月日
102
+
103
+ , x.duu 日別UU
104
+
101
- WITH m1 ( ymd1, ymd2, 日別UU ) AS
105
+ , max( y.tuu ) over( order by x.ymd ) 通算UU
106
+
102
-
107
+ FROM
108
+
103
- (
109
+ (
110
+
104
-
111
+ SELECT tx."date" ymd
112
+
113
+ , count( distinct user_id ) duu
114
+
115
+ FROM tx
116
+
117
+ GROUP BY tx."date"
118
+
119
+ ) x
120
+
121
+ LEFT JOIN
122
+
123
+ (
124
+
105
- SELECT x.ymd
125
+ SELECT DISTINCT
126
+
106
-
127
+ ymd
128
+
107
- , max( y.ymd ) over ( order by x.ymd )
129
+ , count(1) over( order by ymd ) tuu
108
-
109
- , x.uu
110
130
 
111
131
  FROM
112
132
 
113
133
  (
114
134
 
115
- SELECT tx."date" ymd
135
+ SELECT min( tx."date" ) ymd
116
-
117
- , count( distinct user_id ) uu
118
136
 
119
137
  FROM tx
120
138
 
121
- GROUP BY tx."date"
139
+ GROUP BY user_id
122
-
140
+
123
- ) x
141
+ ) q
142
+
124
-
143
+ ) y
144
+
145
+ USING ( ymd )
146
+
147
+ ;
148
+
149
+ ```
150
+
151
+
152
+
153
+ 推理が当たっていた場合に限りますけど
154
+
155
+ ~~`通算UU`をわかりやすく計算するのなら~~ ←そんなことは無かった
156
+
157
+ 以下のような`3段のクエリ`になりそうです。
158
+
159
+
160
+
161
+ ```SQL
162
+
125
- LEFT JOIN
163
+ SELECT 年月
164
+
165
+ , sum( 新規uid数 )
166
+
167
+ over( order by 年月
168
+
169
+ rows between unbounded preceding and current row
170
+
171
+ ) 通算UU
172
+
173
+ FROM
174
+
175
+ (
176
+
177
+ SELECT 年月
178
+
179
+ , count(1) 新規uid数
180
+
181
+ FROM
126
182
 
127
183
  (
128
184
 
129
- SELECT DISTINCT min( tx."date" ) ymd
130
-
131
- FROM tx
132
-
133
- GROUP BY user_id
185
+ SELECT user_id
134
-
135
- ) y
186
+
136
-
137
- ON x.ymd = y.ymd
138
-
139
- ),
140
-
141
- m2 ( ymd2, 通算UU ) AS
142
-
143
- (
144
-
145
- SELECT DISTINCT
146
-
147
- ymd
148
-
149
- , count(1) over( order by ymd )
150
-
151
- FROM
152
-
153
- (
154
-
155
- SELECT min( tx."date" ) ymd
187
+ , min( t."date" ) 年月
156
-
188
+
157
- FROM tx
189
+ FROM テーブル名 t
158
190
 
159
191
  GROUP BY user_id
160
192
 
161
- ) q
193
+ ) q2
162
-
163
- )
194
+
164
-
165
- SELECT m1.ymd1 年月日
166
-
167
- , m1.日別UU
168
-
169
- , m2.通算UU
170
-
171
- FROM m1
172
-
173
- JOIN m2
174
-
175
- USING ( ymd2 )
176
-
177
- ORDER BY 1
195
+ GROUP BY 年月
196
+
197
+ ) q1
178
198
 
179
199
  ;
180
200
 
181
201
  ```
182
-
183
-
184
-
185
- 推理が当たっていた場合に限りますけど
186
-
187
- ~~`通算UU`をわかりやすく計算するのなら~~ ←そんなことは無かった
188
-
189
- 以下のような`3段のクエリ`になりそうです。
190
-
191
-
192
-
193
- ```SQL
194
-
195
- SELECT 年月
196
-
197
- , sum( 新規uid数 )
198
-
199
- over( order by 年月
200
-
201
- rows between unbounded preceding and current row
202
-
203
- ) 通算UU
204
-
205
- FROM
206
-
207
- (
208
-
209
- SELECT 年月
210
-
211
- , count(1) 新規uid数
212
-
213
- FROM
214
-
215
- (
216
-
217
- SELECT user_id
218
-
219
- , min( t."date" ) 年月
220
-
221
- FROM テーブル名 t
222
-
223
- GROUP BY user_id
224
-
225
- ) q2
226
-
227
- GROUP BY 年月
228
-
229
- ) q1
230
-
231
- ;
232
-
233
- ```

8

SQL文中のゴミを削除

2021/09/18 02:41

投稿

mayu-
mayu-

スコア335

test CHANGED
@@ -104,7 +104,7 @@
104
104
 
105
105
  SELECT x.ymd
106
106
 
107
- , coalesce( y.ymd, max( y.ymd ) over ( order by x.ymd ) )
107
+ , max( y.ymd ) over ( order by x.ymd )
108
108
 
109
109
  , x.uu
110
110
 

7

2021/09/18 02:18

投稿

mayu-
mayu-

スコア335

test CHANGED
@@ -152,84 +152,82 @@
152
152
 
153
153
  (
154
154
 
155
+ SELECT min( tx."date" ) ymd
156
+
157
+ FROM tx
158
+
159
+ GROUP BY user_id
160
+
161
+ ) q
162
+
163
+ )
164
+
165
+ SELECT m1.ymd1 年月日
166
+
167
+ , m1.日別UU
168
+
169
+ , m2.通算UU
170
+
171
+ FROM m1
172
+
173
+ JOIN m2
174
+
175
+ USING ( ymd2 )
176
+
177
+ ORDER BY 1
178
+
179
+ ;
180
+
181
+ ```
182
+
183
+
184
+
185
+ 推理が当たっていた場合に限りますけど
186
+
187
+ ~~`通算UU`をわかりやすく計算するのなら~~ ←そんなことは無かった
188
+
189
+ 以下のような`3段のクエリ`になりそうです。
190
+
191
+
192
+
193
+ ```SQL
194
+
195
+ SELECT 年月
196
+
197
+ , sum( 新規uid数 )
198
+
199
+ over( order by 年月
200
+
201
+ rows between unbounded preceding and current row
202
+
203
+ ) 通算UU
204
+
205
+ FROM
206
+
207
+ (
208
+
209
+ SELECT 年月
210
+
211
+ , count(1) 新規uid数
212
+
213
+ FROM
214
+
215
+ (
216
+
155
217
  SELECT user_id
156
218
 
157
- , min( tx."date" ) ymd
219
+ , min( t."date" ) 年月
158
-
220
+
159
- FROM tx
221
+ FROM テーブル名 t
160
222
 
161
223
  GROUP BY user_id
162
224
 
163
- ) q
225
+ ) q2
164
-
165
- )
226
+
166
-
167
- SELECT m1.ymd1 年月日
168
-
169
- , m1.日別UU
170
-
171
- , m2.通算UU
172
-
173
- FROM m1
174
-
175
- JOIN m2
176
-
177
- USING ( ymd2 )
178
-
179
- ORDER BY 1
227
+ GROUP BY 年月
228
+
229
+ ) q1
180
230
 
181
231
  ;
182
232
 
183
233
  ```
184
-
185
-
186
-
187
- 推理が当たっていた場合に限りますけど
188
-
189
- ~~`通算UU`をわかりやすく計算するのなら~~ ←そんなことは無かった
190
-
191
- 以下のような`3段のクエリ`になりそうです。
192
-
193
-
194
-
195
- ```SQL
196
-
197
- SELECT 年月
198
-
199
- , sum( 新規uid数 )
200
-
201
- over( order by 年月
202
-
203
- rows between unbounded preceding and current row
204
-
205
- ) 通算UU
206
-
207
- FROM
208
-
209
- (
210
-
211
- SELECT 年月
212
-
213
- , count(1) 新規uid数
214
-
215
- FROM
216
-
217
- (
218
-
219
- SELECT user_id
220
-
221
- , min( t."date" ) 年月
222
-
223
- FROM テーブル名 t
224
-
225
- GROUP BY user_id
226
-
227
- ) q2
228
-
229
- GROUP BY 年月
230
-
231
- ) q1
232
-
233
- ;
234
-
235
- ```

6

2021/09/17 18:36

投稿

mayu-
mayu-

スコア335

test CHANGED
@@ -186,7 +186,7 @@
186
186
 
187
187
  推理が当たっていた場合に限りますけど
188
188
 
189
- `通算UU`をわかりやすく計算するのなら
189
+ ~~`通算UU`をわかりやすく計算するのなら~~ ←そんなことは無かった
190
190
 
191
191
  以下のような`3段のクエリ`になりそうです。
192
192
 

5

SQL文の修正

2021/09/17 18:12

投稿

mayu-
mayu-

スコア335

test CHANGED
@@ -98,7 +98,7 @@
98
98
 
99
99
 
100
100
 
101
- WITH m0 ( ymd1, ymd2 ) AS
101
+ WITH m1 ( ymd1, ymd2, 日別UU ) AS
102
102
 
103
103
  (
104
104
 
@@ -106,14 +106,20 @@
106
106
 
107
107
  , coalesce( y.ymd, max( y.ymd ) over ( order by x.ymd ) )
108
108
 
109
+ , x.uu
110
+
109
111
  FROM
110
112
 
111
113
  (
112
114
 
113
- SELECT DISTINCT tx."date" ymd
115
+ SELECT tx."date" ymd
116
+
117
+ , count( distinct user_id ) uu
114
118
 
115
119
  FROM tx
116
120
 
121
+ GROUP BY tx."date"
122
+
117
123
  ) x
118
124
 
119
125
  LEFT JOIN
@@ -132,20 +138,6 @@
132
138
 
133
139
  ),
134
140
 
135
- m1 ( ymd1, 日別UU ) AS
136
-
137
- (
138
-
139
- SELECT tx."date"
140
-
141
- , count( distinct user_id )
142
-
143
- FROM tx
144
-
145
- GROUP BY tx."date"
146
-
147
- ),
148
-
149
141
  m2 ( ymd2, 通算UU ) AS
150
142
 
151
143
  (
@@ -172,21 +164,17 @@
172
164
 
173
165
  )
174
166
 
175
- SELECT m0.ymd1 年月日
167
+ SELECT m1.ymd1 年月日
176
168
 
177
169
  , m1.日別UU
178
170
 
179
171
  , m2.通算UU
180
172
 
181
- FROM m0
173
+ FROM m1
182
-
183
- JOIN m1
174
+
184
-
185
- ON m0.ymd1 = m1.ymd1
186
-
187
- JOIN m2
175
+ JOIN m2
188
-
176
+
189
- ON m0.ymd2 = m2.ymd2
177
+ USING ( ymd2 )
190
178
 
191
179
  ORDER BY 1
192
180
 

4

SQL文の修正

2021/09/17 17:57

投稿

mayu-
mayu-

スコア335

test CHANGED
@@ -104,7 +104,7 @@
104
104
 
105
105
  SELECT x.ymd
106
106
 
107
- , max( y.ymd )
107
+ , coalesce( y.ymd, max( y.ymd ) over ( order by x.ymd ) )
108
108
 
109
109
  FROM
110
110
 
@@ -128,9 +128,7 @@
128
128
 
129
129
  ) y
130
130
 
131
- ON x.ymd >= y.ymd
131
+ ON x.ymd = y.ymd
132
-
133
- GROUP BY x.ymd
134
132
 
135
133
  ),
136
134
 

3

結合の欠陥を補正(SQL)

2021/09/17 17:25

投稿

mayu-
mayu-

スコア335

test CHANGED
@@ -12,11 +12,11 @@
12
12
 
13
13
  マスタではなく、トランザクションテーブルにおいて
14
14
 
15
- 固有の`user_id`が`初めて登場した年月`( サンプルデータでは`日`ですが )を
15
+ 固有の`user_id`が初めて登場した年月( サンプルデータでは`日`ですが )を
16
16
 
17
17
  `user_id`の「`登録日`」と見なして
18
18
 
19
- ( 過去月を含む )当日までの`新規user_id`の総数( 累計 )を計算したい。
19
+ ( 過去月を含む )当日までの新規`user_id`の総数( 累計 )を計算したい。
20
20
 
21
21
 
22
22
 
@@ -36,11 +36,19 @@
36
36
 
37
37
 
38
38
 
39
+ ##追記:
40
+
41
+ あまり良い記述とは思えませんけど
42
+
43
+ 新規登録の`user_id`が存在しない日でも
44
+
45
+ 日別UU と 通算UU が両方とも表示されるようにはしておきます。
46
+
39
47
 
40
48
 
41
49
  ```SQL
42
50
 
43
- CREATE TABLE テーブル名
51
+ CREATE TABLE tx
44
52
 
45
53
  (
46
54
 
@@ -54,7 +62,7 @@
54
62
 
55
63
 
56
64
 
57
- INSERT INTO テーブル名
65
+ INSERT INTO tx
58
66
 
59
67
  ( user_id, "date" )
60
68
 
@@ -78,33 +86,145 @@
78
86
 
79
87
  , ( 6, '1970-01-03' )
80
88
 
89
+ , ( 2, '1970-01-04' )
90
+
91
+ , ( 2, '1970-01-04' )
92
+
93
+ , ( 3, '1970-01-05' )
94
+
95
+ , ( 7, '1970-01-06' )
96
+
97
+ ;
98
+
99
+
100
+
101
+ WITH m0 ( ymd1, ymd2 ) AS
102
+
103
+ (
104
+
105
+ SELECT x.ymd
106
+
107
+ , max( y.ymd )
108
+
109
+ FROM
110
+
111
+ (
112
+
113
+ SELECT DISTINCT tx."date" ymd
114
+
115
+ FROM tx
116
+
117
+ ) x
118
+
119
+ LEFT JOIN
120
+
121
+ (
122
+
123
+ SELECT DISTINCT min( tx."date" ) ymd
124
+
125
+ FROM tx
126
+
127
+ GROUP BY user_id
128
+
129
+ ) y
130
+
131
+ ON x.ymd >= y.ymd
132
+
133
+ GROUP BY x.ymd
134
+
135
+ ),
136
+
137
+ m1 ( ymd1, 日別UU ) AS
138
+
139
+ (
140
+
141
+ SELECT tx."date"
142
+
143
+ , count( distinct user_id )
144
+
145
+ FROM tx
146
+
147
+ GROUP BY tx."date"
148
+
149
+ ),
150
+
151
+ m2 ( ymd2, 通算UU ) AS
152
+
153
+ (
154
+
155
+ SELECT DISTINCT
156
+
157
+ ymd
158
+
159
+ , count(1) over( order by ymd )
160
+
161
+ FROM
162
+
163
+ (
164
+
165
+ SELECT user_id
166
+
167
+ , min( tx."date" ) ymd
168
+
169
+ FROM tx
170
+
171
+ GROUP BY user_id
172
+
173
+ ) q
174
+
175
+ )
176
+
177
+ SELECT m0.ymd1 年月日
178
+
179
+ , m1.日別UU
180
+
181
+ , m2.通算UU
182
+
183
+ FROM m0
184
+
185
+ JOIN m1
186
+
187
+ ON m0.ymd1 = m1.ymd1
188
+
189
+ JOIN m2
190
+
191
+ ON m0.ymd2 = m2.ymd2
192
+
193
+ ORDER BY 1
194
+
81
195
  ;
82
196
 
83
-
197
+ ```
198
+
199
+
200
+
84
-
201
+ 推理が当たっていた場合に限りますけど
202
+
203
+ `通算UU`をわかりやすく計算するのなら
204
+
205
+ 以下のような`3段のクエリ`になりそうです。
206
+
207
+
208
+
209
+ ```SQL
210
+
211
+ SELECT 年月
212
+
85
- WITH x ( 年月日, 日別UU ) AS
213
+ , sum( 新規uid数 )
214
+
86
-
215
+ over( order by 年月
216
+
217
+ rows between unbounded preceding and current row
218
+
219
+ ) 通算UU
220
+
221
+ FROM
222
+
87
- (
223
+ (
88
-
89
- SELECT t."date"
224
+
90
-
91
- , count( distinct user_id )
92
-
93
- FROM テーブル名 t
94
-
95
- GROUP BY t."date"
96
-
97
- ),
98
-
99
- y ( 年月日, 通算UU ) AS
100
-
101
- (
102
-
103
- SELECT DISTINCT
225
+ SELECT 年月
104
-
105
- ymd
226
+
106
-
107
- , count(1) over( order by ymd )
227
+ , count(1) 新規uid
108
228
 
109
229
  FROM
110
230
 
@@ -112,84 +232,18 @@
112
232
 
113
233
  SELECT user_id
114
234
 
115
- , min( t."date" ) ymd
235
+ , min( t."date" ) 年月
116
236
 
117
237
  FROM テーブル名 t
118
238
 
119
239
  GROUP BY user_id
120
240
 
121
- ) q
241
+ ) q2
122
-
123
- )
242
+
124
-
125
-
126
-
127
- SELECT x.年月日
128
-
129
- , x.日別UU
130
-
131
- , y.通算UU
132
-
133
- FROM x
134
-
135
- JOIN y
136
-
137
- USING ( 年月日 )
138
-
139
- ORDER BY 1
243
+ GROUP BY 年月
244
+
245
+ ) q1
140
246
 
141
247
  ;
142
248
 
143
249
  ```
144
-
145
-
146
-
147
- 推理が当たっていた場合に限りますけど
148
-
149
- `通算UU`をわかりやすく計算するのなら
150
-
151
- 以下のような`3段のクエリ`になりそうです。
152
-
153
-
154
-
155
- ```SQL
156
-
157
- SELECT 年月
158
-
159
- , sum( 新規uid数 )
160
-
161
- over( order by 年月
162
-
163
- rows between unbounded preceding and current row
164
-
165
- ) 通算UU
166
-
167
- FROM
168
-
169
- (
170
-
171
- SELECT 年月
172
-
173
- , count(1) 新規uid数
174
-
175
- FROM
176
-
177
- (
178
-
179
- SELECT user_id
180
-
181
- , min( t."date" ) 年月
182
-
183
- FROM テーブル名 t
184
-
185
- GROUP BY user_id
186
-
187
- ) q2
188
-
189
- GROUP BY 年月
190
-
191
- ) q1
192
-
193
- ;
194
-
195
- ```

2

文章中の紛らわしい表現を修正

2021/09/17 15:09

投稿

mayu-
mayu-

スコア335

test CHANGED
@@ -16,17 +16,17 @@
16
16
 
17
17
  `user_id`の「`登録日`」と見なして
18
18
 
19
- ( 過去月を含む )当月()までの`新規user_id`の総数( 累計 )を計算したい。
19
+ ( 過去月を含む )当日までの`新規user_id`の総数( 累計 )を計算したい。
20
20
 
21
21
 
22
22
 
23
23
  カウントしたいのはあくまで`新規`なので
24
24
 
25
- 過去月()に登場した`user_id`は当に再度現れてもカウントしない。
25
+ 過去日に登場した`user_id`は当に再度現れてもカウントしない。
26
26
 
27
27
 
28
28
 
29
- また、初回登録された月()に`user_id`がユニークな値にならないのは
29
+ また、初回登録された日に`user_id`がユニークな値にならないのは
30
30
 
31
31
  実際は、同日に複数のアクション( 商品購入など )が発生していたりするのでしょう。
32
32
 

1

文章におかしな箇所がいくつかあったので修正

2021/09/17 09:20

投稿

mayu-
mayu-

スコア335

test CHANGED
@@ -12,25 +12,25 @@
12
12
 
13
13
  マスタではなく、トランザクションテーブルにおいて
14
14
 
15
- 固有の`user_id`が`初めて登場した年月`を
15
+ 固有の`user_id`が`初めて登場した年月`( サンプルデータでは`日`ですが )
16
16
 
17
17
  `user_id`の「`登録日`」と見なして
18
18
 
19
- ( 過去月を含む )当月までの`新規user_id`の総数( 累計 )を計算したい。
19
+ ( 過去月を含む )当月(日)までの`新規user_id`の総数( 累計 )を計算したい。
20
20
 
21
21
 
22
22
 
23
23
  カウントしたいのはあくまで`新規`なので
24
24
 
25
- 過去月に登場した`user_id`は当月に再度現れてもカウントしない。
25
+ 過去月(日)に登場した`user_id`は当月に再度現れてもカウントしない。
26
26
 
27
27
 
28
28
 
29
- また、初回登録された月に`user_id`がユニークな値にならないのは
29
+ また、初回登録された月(日)に`user_id`がユニークな値にならないのは
30
30
 
31
31
  実際は、同日に複数のアクション( 商品購入など )が発生していたりするのでしょう。
32
32
 
33
- ひょっとすると`date`も「`年月日`」の「`日`」の部分が切り捨てられていて
33
+ ひょっとすると`date`も「`時刻`」が切り捨てられていて
34
34
 
35
35
  元の`date`は別の値なのかもしれませんね。
36
36
 
@@ -99,8 +99,6 @@
99
99
  y ( 年月日, 通算UU ) AS
100
100
 
101
101
  (
102
-
103
-
104
102
 
105
103
  SELECT DISTINCT
106
104