質問編集履歴
2
テストデータを作成するコードを追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -6,13 +6,13 @@
|
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
-
指定した区間内の指定選手noの順位が2位以上(1位または2位)の割合を取得したい。ただし、指定した区間に該当する選手の情報がない場合はNULL(pycopg2で取得した場合はNone)にしたい。
|
9
|
+
指定した区間内の指定選手no(player_no)の順位(rank)が2位以上(1位または2位)の割合(rate)を取得したい。ただし、指定した区間に該当する選手の情報がない場合はNULL(pycopg2で取得した場合はNone)にしたい。
|
10
10
|
|
11
11
|
|
12
12
|
|
13
13
|
**例)**
|
14
14
|
|
15
|
-
|
|
15
|
+
|game|player_no|date|rank|
|
16
16
|
|
17
17
|
|:--|:--:|--:|--:|
|
18
18
|
|
@@ -52,7 +52,7 @@
|
|
52
52
|
|
53
53
|
**取得したいデータ**
|
54
54
|
|
55
|
-
|
|
55
|
+
|player_no|rate|
|
56
56
|
|
57
57
|
|:--|--:|
|
58
58
|
|
@@ -118,7 +118,57 @@
|
|
118
118
|
|
119
119
|
|
120
120
|
|
121
|
+
|
122
|
+
|
123
|
+
# CREATE,INSERT用
|
124
|
+
|
125
|
+
def execute_sql_no_result(sql):
|
126
|
+
|
127
|
+
dsn = "postgresql://{}:{}@{}:{}/{}".format(user_name, password, host_name, port, database)
|
128
|
+
|
129
|
+
with psycopg2.connect(dsn) as conn:
|
130
|
+
|
131
|
+
with conn.cursor() as cur:
|
132
|
+
|
133
|
+
cur.execute(sql)
|
134
|
+
|
135
|
+
|
136
|
+
|
137
|
+
# テストデータ作成
|
138
|
+
|
139
|
+
execute_sql_no_result("DROP TABLE IF EXISTS test")
|
140
|
+
|
141
|
+
execute_sql_no_result("CREATE TABLE test (game INTEGER,player_no INTEGER,date timestamp,rank INTEGER);")
|
142
|
+
|
143
|
+
execute_sql_no_result("INSERT INTO test VALUES ('1','1','2020/1/1 0:00:00','3');")
|
144
|
+
|
145
|
+
execute_sql_no_result("INSERT INTO test VALUES ('1','2','2020/1/1 0:00:00','1');")
|
146
|
+
|
147
|
+
execute_sql_no_result("INSERT INTO test VALUES ('1','3','2020/1/1 0:00:00','2');")
|
148
|
+
|
149
|
+
execute_sql_no_result("INSERT INTO test VALUES ('2','1','2020/1/2 0:00:00','1');")
|
150
|
+
|
151
|
+
execute_sql_no_result("INSERT INTO test VALUES ('2','4','2020/1/2 0:00:00','2');")
|
152
|
+
|
153
|
+
execute_sql_no_result("INSERT INTO test VALUES ('2','6','2020/1/2 0:00:00','4');")
|
154
|
+
|
155
|
+
execute_sql_no_result("INSERT INTO test VALUES ('2','10','2020/1/2 0:00:00','3');")
|
156
|
+
|
157
|
+
execute_sql_no_result("INSERT INTO test VALUES ('3','1','2020/1/3 0:00:00','3');")
|
158
|
+
|
159
|
+
execute_sql_no_result("INSERT INTO test VALUES ('3','7','2020/1/3 0:00:00','2');")
|
160
|
+
|
161
|
+
execute_sql_no_result("INSERT INTO test VALUES ('3','8','2020/1/3 0:00:00','1');")
|
162
|
+
|
163
|
+
execute_sql_no_result("INSERT INTO test VALUES ('3','9','2020/1/3 0:00:00','4');")
|
164
|
+
|
165
|
+
execute_sql_no_result("INSERT INTO test VALUES ('3','11','2020/1/3 0:00:00','5');")
|
166
|
+
|
167
|
+
|
168
|
+
|
121
169
|
execute_sql("ここのSQL文が知りたいです")
|
170
|
+
|
171
|
+
|
122
172
|
|
123
173
|
```
|
124
174
|
|
1
説明希望の旨を追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -142,4 +142,6 @@
|
|
142
142
|
|
143
143
|
|
144
144
|
|
145
|
+
### その他
|
146
|
+
|
145
|
-
|
147
|
+
簡単な説明も頂けると嬉しいです。
|