回答編集履歴
2
修正
answer
CHANGED
@@ -11,13 +11,9 @@
|
|
11
11
|
select t1.up_time, t1.picupno, t2.sum_qty
|
12
12
|
from test as t1
|
13
13
|
inner join (
|
14
|
-
select sub_id, sum(qty) as sum_qty from test group by sub_id
|
14
|
+
select sub_id, max(up_time) as max_up_time, sum(qty) as sum_qty from test group by sub_id
|
15
15
|
) as t2
|
16
|
-
on t1.sub_id=t2.sub_id
|
16
|
+
on t1.sub_id=t2.sub_id and t1.up_time=t2.max_up_time
|
17
|
-
inner join (
|
18
|
-
select sub_id, max(up_time) as sum_qty from test group by sub_id
|
19
|
-
) as t2
|
20
|
-
on t1.sub_id=t3.sub_id
|
21
17
|
```
|
22
18
|
MySQLはサンプルデータを触っている程度なので、大量のデータでのSQLの記述による性能差などは見地がありません。
|
23
19
|
なので、結果をフィードバックして頂けると喜びます。
|
1
追記
answer
CHANGED
@@ -5,4 +5,19 @@
|
|
5
5
|
,(select sum(qty) from test where sub_id=t1.sub_id) as sum_qty
|
6
6
|
from test as t1
|
7
7
|
where up_time=(select max(up_time) from test where sub_id=t1.sub_id)
|
8
|
-
```
|
8
|
+
```
|
9
|
+
一応別解(相関問い合わせによるサブクエリーを使用しない版)
|
10
|
+
```SQL
|
11
|
+
select t1.up_time, t1.picupno, t2.sum_qty
|
12
|
+
from test as t1
|
13
|
+
inner join (
|
14
|
+
select sub_id, sum(qty) as sum_qty from test group by sub_id
|
15
|
+
) as t2
|
16
|
+
on t1.sub_id=t2.sub_id
|
17
|
+
inner join (
|
18
|
+
select sub_id, max(up_time) as sum_qty from test group by sub_id
|
19
|
+
) as t2
|
20
|
+
on t1.sub_id=t3.sub_id
|
21
|
+
```
|
22
|
+
MySQLはサンプルデータを触っている程度なので、大量のデータでのSQLの記述による性能差などは見地がありません。
|
23
|
+
なので、結果をフィードバックして頂けると喜びます。
|