teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

追記

2019/10/11 15:32

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -1,4 +1,5 @@
1
1
  24時間固定部分は、[generate_series](https://www.postgresql.jp/document/9.5/html/functions-srf.html)を用いて生成します。
2
+ まあ、24個程度であれば、そんなに手間でもないですからvaluesでも良いですけど。
2
3
  それを集計データと直積(cross join)して、配列に畳む際にcaseにて有効値を優先します。
3
4
  ```SQL
4
5
  WITH temp_datas AS (

2

追記

2019/10/11 15:32

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -36,5 +36,8 @@
36
36
  group by user_id, item_id, date
37
37
  ```
38
38
  実環境があるわけではないですし、コストまで求められても困りますけどね。
39
+ 速さの調整は上記SQLではstep1内が如何に早くなるかです。
40
+ (user_id, item_id, datetime, value)のインデックスがあればインデックスonlyで済むかもしれません。
41
+
39
- 項目名はデータ型と被らないように命名した方が良いですね。
42
+ それから、項目名はデータ型と被らないように命名した方が良いですね。
40
43
  メンテナンス時に検索などで困りますし。

1

追記

2019/10/11 10:11

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -35,6 +35,6 @@
35
35
  ) title_time
36
36
  group by user_id, item_id, date
37
37
  ```
38
- コストまで求められても困りますけどね。
38
+ 実環境があるわけではないですし、コストまで求められても困りますけどね。
39
39
  ※項目名はデータ型と被らないように命名した方が良いですね。
40
40
  メンテナンス時に検索などで困りますし。