質問編集履歴
3
フィードバックを受けての修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,15 +1,15 @@
|
|
1
|
-
「投稿ID」「投稿したユーザーID」「投稿日時」が入ったPostテーブルにおいて、
|
1
|
+
「投稿ID(Int型)」「投稿したユーザーID(Int型)」「投稿日時(String型)」が入ったPostテーブルにおいて、
|
2
2
|
|id|user_id|created_at|
|
3
3
|
|:--|:--:|--:|
|
4
4
|
|1|10|2019-11-01T22:11:05.000+09:00|
|
5
5
|
|2|10|2019-11-02T22:11:05.000+09:00|
|
6
6
|
|3|20|2019-11-01T22:11:05.000+09:00|
|
7
7
|
|
8
|
-
下記のように、投稿ユーザーごとに11/1~11/3それぞれで投稿したかどうかを判定する出力を出したいです。(投稿した日は「
|
8
|
+
下記のように、投稿ユーザーごとに11/1~11/3それぞれで投稿したかどうかを判定する出力を出したいです。(投稿した日は「true」、投稿していない日は「false」)
|
9
9
|
|user_id|11/1|11/2|11/3|
|
10
10
|
|:--|:--:|--:|
|
11
|
-
|10|
|
11
|
+
|10|true|true|false|
|
12
|
-
|20|
|
12
|
+
|20|true|false|false|
|
13
13
|
|
14
14
|
その際に、下記のようなクエリを作成したのですが、投稿日時もGROUP BYしてしまっているため、1ユーザーに対して3行出力されてしまっているが現状です。
|
15
15
|
|
@@ -18,16 +18,16 @@
|
|
18
18
|
SELECT DISTINCT
|
19
19
|
user_id,
|
20
20
|
CASE
|
21
|
-
WHEN SUBSTRING(created_at, 1, 10) = '2019-11-01' THEN '
|
21
|
+
WHEN SUBSTRING(created_at, 1, 10) = '2019-11-01' THEN 'true'
|
22
|
-
ELSE '
|
22
|
+
ELSE 'false'
|
23
23
|
END AS one_day,
|
24
24
|
CASE
|
25
|
-
WHEN SUBSTRING(created_at, 1, 10) = '2019-11-02' THEN '
|
25
|
+
WHEN SUBSTRING(created_at, 1, 10) = '2019-11-02' THEN 'true'
|
26
|
-
ELSE '
|
26
|
+
ELSE 'false'
|
27
27
|
END AS two_day,
|
28
28
|
CASE
|
29
|
-
WHEN SUBSTRING(created_at, 1, 10) = '2019-11-03' THEN '
|
29
|
+
WHEN SUBSTRING(created_at, 1, 10) = '2019-11-03' THEN 'true'
|
30
|
-
ELSE '
|
30
|
+
ELSE 'false'
|
31
31
|
END AS three_day
|
32
32
|
FROM
|
33
33
|
posts
|
@@ -38,13 +38,13 @@
|
|
38
38
|
```
|
39
39
|
|user_id|11/1|11/2|11/3|
|
40
40
|
|:--|:--:|--:|
|
41
|
-
|10|
|
41
|
+
|10|true|false|false|
|
42
|
-
|10|
|
42
|
+
|10|false|true|false|
|
43
|
-
|10|
|
43
|
+
|10|false|false|false|
|
44
|
-
|20|
|
44
|
+
|20|true|false|false|
|
45
|
-
|20|
|
45
|
+
|20|false|false|false|
|
46
|
-
|20|
|
46
|
+
|20|false|false|false|
|
47
47
|
|
48
|
-
GROUP BYを投稿ユーザーのみにしてしまうと、下記のようなエラーメッセージが出てしまい、ここからどのようにクエリを書き換えれば良いか困っています。
|
48
|
+
GROUP BYを投稿ユーザーのみにしてしまうと、下記のようなエラーメッセージが出てしまい、ここからどのようにクエリを書き換えれば良いか困っています。実行エンジンはprestoです。
|
49
49
|
ご教示のほど、何卒よろしくお願いいたします!mm
|
50
50
|
> 'created_at' must be an aggregate expression or appear in GROUP BY clause
|
2
文章の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -45,6 +45,6 @@
|
|
45
45
|
|20|0|0|0|
|
46
46
|
|20|0|0|0|
|
47
47
|
|
48
|
-
GROUP BYを投稿ユーザーのみにしてしまうと、下記のようなエラーメッセージが出てしまい、ここからどのようにクエリを書き換えれば良い
|
48
|
+
GROUP BYを投稿ユーザーのみにしてしまうと、下記のようなエラーメッセージが出てしまい、ここからどのようにクエリを書き換えれば良いか困っています。
|
49
|
-
ご教示のほど、何卒よろしくお願いいたします!
|
49
|
+
ご教示のほど、何卒よろしくお願いいたします!mm
|
50
50
|
> 'created_at' must be an aggregate expression or appear in GROUP BY clause
|
1
タグの追加
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|