回答編集履歴

3

追記

2020/06/04 07:33

投稿

sazi
sazi

スコア25199

test CHANGED
@@ -16,9 +16,9 @@
16
16
 
17
17
  --
18
18
 
19
- 最大のgnum_のうち最大のpnow_に関する集計なら以下では無いかと思います。
19
+ 最大のgnum_のうち最大のpnow_に関する集計なら以下のようになるかと思います。
20
20
 
21
- 分析関数を使用するまでもありません。
21
+ 仕様的にあっているなら、分析関数を使用するまでもありません。
22
22
 
23
23
  ※件数の箇所はNUllの扱いが正しくなかったので変更しています。
24
24
 

2

追記

2020/06/04 07:33

投稿

sazi
sazi

スコア25199

test CHANGED
@@ -9,3 +9,47 @@
9
9
 
10
10
 
11
11
  (`pnum_`, `bnum_`,`inum_`, `pslct`, `enum_`)がそれらの区切りなら、それも条件に加えないと駄目なんでは。
12
+
13
+
14
+
15
+ 追記
16
+
17
+ --
18
+
19
+ 最大のgnum_のうち最大のpnow_に関する集計なら以下では無いかと思います。
20
+
21
+ 分析関数を使用するまでもありません。
22
+
23
+ ※件数の箇所はNUllの扱いが正しくなかったので変更しています。
24
+
25
+ ```SQL
26
+
27
+ SELECT
28
+
29
+ CONCAT ( `pnum_`, `bnum_` , `inum_` ) AS `_sid_`,
30
+
31
+ COUNT((COALESCE(`pmony`, 0) <> 0)) AS `_evq_`,
32
+
33
+ SUM( CASE `pslct` WHEN '材料' THEN `pmony` ELSE 0 END ) AS `smmtm`,
34
+
35
+ SUM( CASE `pslct` WHEN '加工' THEN `pmony` ELSE 0 END ) AS `smprm`
36
+
37
+
38
+
39
+ FROM `flow_a120tbl` t1
40
+
41
+ WHERE
42
+
43
+ `gnum_` = (select Max(`gnum_`) from `flow_a120tbl`)
44
+
45
+ AND `pnow_` = (select Max(`pnow_`) from `flow_a120tbl` where `gnum_` = t1.`gnum`)
46
+
47
+ GROUP BY
48
+
49
+ `pnum_`,
50
+
51
+ `bnum_`,
52
+
53
+ `inum_`
54
+
55
+ ```

1

追記

2020/06/04 07:31

投稿

sazi
sazi

スコア25199

test CHANGED
@@ -5,3 +5,7 @@
5
5
  pnow_の最大は、gnum_が同じもののうちの最大でないと駄目なんじゃないでしょうか。
6
6
 
7
7
  試されたものはそれぞれ独立しています。
8
+
9
+
10
+
11
+ (`pnum_`, `bnum_`,`inum_`, `pslct`, `enum_`)がそれらの区切りなら、それも条件に加えないと駄目なんでは。