質問編集履歴

2

助長表現を削除しました。

2019/12/02 02:03

投稿

KojiroYamamoto
KojiroYamamoto

スコア21

test CHANGED
File without changes
test CHANGED
@@ -94,4 +94,4 @@
94
94
 
95
95
  使っているのは、postgresqlです。
96
96
 
97
- 初心者質問で申し訳ありませんが、宜しくお願い致します。
97
+ 宜しくお願い致します。

1

コードの修正と、質問意図の修正を行いました。

2019/12/02 02:03

投稿

KojiroYamamoto
KojiroYamamoto

スコア21

test CHANGED
File without changes
test CHANGED
@@ -2,11 +2,41 @@
2
2
 
3
3
  例えば、2015~2019年までに、個人が複数レコード記録されているデータから、
4
4
 
5
- 2018年で絞った最新レコードを取得するイメージです。
5
+ 2018年で絞った最新レコードをidごとに取得するイメージです。
6
6
 
7
7
  WHEREの中にサブクエリとして、BETWEENで2018年の最新レコードを取得し、
8
8
 
9
9
  INを使って書いてみたのですが、うまく動かないようで、、
10
+
11
+
12
+
13
+ 例えば、以下のようにデータセットであれば、
14
+
15
+ <table>
16
+
17
+ |date |id | x1| x2|
18
+
19
+ |:----------|:---|--:|--:|
20
+
21
+ |2018-04-19 |A84 | 91| 1|
22
+
23
+ |2019-12-26 |A84 | 92| 1|
24
+
25
+ |2018-08-23 |A84 | 70| 0|
26
+
27
+ |2016-10-27 |A23 | 50| 1|
28
+
29
+ |2017-01-12 |A27 | 92| 1|
30
+
31
+ |2019-05-02 |A14 | 59| 1|
32
+
33
+ |2016-07-21 |A69 | 87| 0|
34
+
35
+ |2018-04-07 |A14 | 54| 1|
36
+
37
+ |2018-07-21 |A14 | 59| 0|
38
+
39
+ |2016-05-19 |A20 | 70| 0|
10
40
 
11
41
 
12
42
 
@@ -16,25 +46,13 @@
16
46
 
17
47
  |:----------|:---|--:|--:|
18
48
 
19
- |2018-04-19 |A84 | 91| 1|
49
+ |2018-08-23 |A84 | 70| 0|
20
50
 
21
- |2019-12-26 |A23 | 92| 1|
51
+ |2018-07-21 |A14 | 59| 0|
22
52
 
23
- |2018-08-23 |A26 | 70| 0|
24
53
 
25
- |2016-10-27 |A23 | 50| 1|
26
54
 
27
- |2017-01-12 |A27 | 92| 1|
55
+ という結果を取得したいです。
28
-
29
- |2019-05-02 |A5 | 59| 1|
30
-
31
- |2016-07-21 |A69 | 87| 0|
32
-
33
- |2016-04-07 |A14 | 54| 1|
34
-
35
- |2016-07-21 |A70 | 59| 0|
36
-
37
- |2016-05-19 |A20 | 70| 0|
38
56
 
39
57
 
40
58
 
@@ -50,7 +68,7 @@
50
68
 
51
69
  WHERE
52
70
 
53
- d1.date IN (
71
+ t1.date IN (
54
72
 
55
73
  SELECT
56
74