質問編集履歴
5
クエリを修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -48,7 +48,7 @@
|
|
48
48
|
select
|
49
49
|
date,
|
50
50
|
count(distinct user_id),
|
51
|
-
sum(first_flag) over(order by date)
|
51
|
+
sum(first_flag) over(order by date rows unbounded preceding)
|
52
52
|
from
|
53
53
|
table_A_added_first_flag
|
54
54
|
group by
|
4
説明を追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -30,5 +30,33 @@
|
|
30
30
|
date
|
31
31
|
```
|
32
32
|
|
33
|
+
table_Aに初めて登場したuser_idに1が入っているカラム「first_flag」を追加してそのカラムを集計するようにしてみました。
|
34
|
+
|
35
|
+
table_A_added_first_flag
|
36
|
+
|user_id|date|first_flag|
|
37
|
+
|--:|--:|--:|
|
38
|
+
|1|2023-01-01|1|
|
39
|
+
|2|2023-01-01|1|
|
40
|
+
|1|2023-01-02|0|
|
41
|
+
|3|2023-01-02|1|
|
42
|
+
|1|2023-01-03|0|
|
43
|
+
|3|2023-01-03|0|
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
```
|
48
|
+
select
|
49
|
+
date,
|
50
|
+
count(distinct user_id),
|
51
|
+
sum(first_flag) over(order by date)
|
52
|
+
from
|
53
|
+
table_A_added_first_flag
|
54
|
+
group by
|
55
|
+
date
|
56
|
+
```
|
57
|
+
|
58
|
+
しかしfirst_flagでgroup byしなさいというエラーが出ます。
|
59
|
+
group byにfirst_flagを追加すると、集計がばらけてしまいます。
|
60
|
+
|
33
61
|
|
34
62
|
毎日のUUと通算のUUを別々に集計して、dateでinner joinして一つのテーブルにするしか方法はないでしょうか。
|
3
説明文修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -29,20 +29,6 @@
|
|
29
29
|
group by
|
30
30
|
date
|
31
31
|
```
|
32
|
-
|
32
|
+
|
33
|
-
```ここに言語名を入力
|
34
|
-
select
|
35
|
-
date,
|
36
|
-
count(distinct user_id) as 毎日のUU,
|
37
|
-
sum(count(distinct user_id)) over(order by date rows unbounded preceding) as 通算のUU
|
38
|
-
from
|
39
|
-
table_A as x
|
40
|
-
inner join table_A as y
|
41
|
-
where
|
42
|
-
x.date >= y.date
|
43
|
-
group by
|
44
|
-
date
|
45
|
-
```
|
46
|
-
とすると通算の方は欲しい数字になるのですが、毎日のUUの方の数字が少なくなってしまいます。
|
47
33
|
|
48
34
|
毎日のUUと通算のUUを別々に集計して、dateでinner joinして一つのテーブルにするしか方法はないでしょうか。
|
2
クエリの修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -39,7 +39,7 @@
|
|
39
39
|
table_A as x
|
40
40
|
inner join table_A as y
|
41
41
|
where
|
42
|
-
x.date
|
42
|
+
x.date >= y.date
|
43
43
|
group by
|
44
44
|
date
|
45
45
|
```
|
1
クエリを修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -26,6 +26,8 @@
|
|
26
26
|
sum(count(distinct user_id)) over(order by date rows unbounded preceding) as 通算のUU
|
27
27
|
from
|
28
28
|
table_A
|
29
|
+
group by
|
30
|
+
date
|
29
31
|
```
|
30
32
|
相関サブクエリを使って、
|
31
33
|
```ここに言語名を入力
|
@@ -38,6 +40,8 @@
|
|
38
40
|
inner join table_A as y
|
39
41
|
where
|
40
42
|
x.date <= y.date
|
43
|
+
group by
|
44
|
+
date
|
41
45
|
```
|
42
46
|
とすると通算の方は欲しい数字になるのですが、毎日のUUの方の数字が少なくなってしまいます。
|
43
47
|
|