回答編集履歴

4

正しい回答に修正

2020/02/10 08:58

投稿

nkrmn_a
nkrmn_a

スコア27

test CHANGED
@@ -25,3 +25,95 @@
25
25
  早とちりで色々とミスが発覚しているので、解決済から下げさせていただきました。
26
26
 
27
27
  ご迷惑をおかけして申し訳ありません。
28
+
29
+
30
+
31
+
32
+
33
+ (追記)
34
+
35
+
36
+
37
+ どうやらSAP hanaのSQL動作が普通のものとは異なっていたようです。
38
+
39
+
40
+
41
+ 実際にSAPhanaで実行したかったSQLはポスグレなどだとほんの数行で終わるようです。
42
+
43
+ 私の環境ではそうはいかなかったので、解決した方法を記載しておきます。
44
+
45
+ 上に書いてあるCCも使用しました。
46
+
47
+ SAPhanaを使用している方は参考にしてください(長いです)。
48
+
49
+
50
+
51
+ ```SQL(hana)
52
+
53
+ WITH
54
+
55
+  tb AS(
56
+
57
+   SELECT
58
+
59
+     AA, BB, count(*) AS cnt
60
+
61
+   FROM (
62
+
63
+    SELECT
64
+
65
+     AA, BB, CC
66
+
67
+    FROM
68
+
69
+     TABLE
70
+
71
+   )
72
+
73
+   GROUP BY
74
+
75
+    AA, BB
76
+
77
+  ),
78
+
79
+  cntTb AS(
80
+
81
+   SELECT
82
+
83
+    AA, max(cnt) AS maxcnt
84
+
85
+   FROM
86
+
87
+    tb
88
+
89
+   GROUP BY
90
+
91
+    AA
92
+
93
+  )
94
+
95
+
96
+
97
+ SELECT
98
+
99
+  cntTb.AA,
100
+
101
+  BB,
102
+
103
+  maxcnt
104
+
105
+ FROM
106
+
107
+  cntTb
108
+
109
+ INNER JOIN
110
+
111
+  tb
112
+
113
+  ON  cntTb.AA = tb.AA
114
+
115
+  AND cntTb.maxcnt = tb.cnt
116
+
117
+ ORDER BY 3 DESC, 1, 2
118
+
119
+ ```

3

修正

2020/02/10 08:58

投稿

nkrmn_a
nkrmn_a

スコア27

test CHANGED
@@ -1,4 +1,4 @@
1
- たいへん申し訳ないのですが、一つ見落としていたカラムを発見し、対処することができました。
1
+ たいへん申し訳ないのですが、一つ見落としていたカラムを発見しました。
2
2
 
3
3
  そもそもの考え方が異なっており、AAとBBとは別のCC(仮)もセットで一意のものとなっていました。
4
4
 
@@ -18,6 +18,10 @@
18
18
 
19
19
  order by AA
20
20
 
21
+ ```
21
22
 
22
23
 
24
+
25
+ 早とちりで色々とミスが発覚しているので、解決済から下げさせていただきました。
26
+
23
- ```
27
+ ご迷惑をおかけして申し訳ありません。

2

修正

2020/02/05 04:55

投稿

nkrmn_a
nkrmn_a

スコア27

test CHANGED
@@ -21,5 +21,3 @@
21
21
 
22
22
 
23
23
  ```
24
-
25
- こちらで解決いたしました。

1

sql文を間違えていた

2020/02/05 04:51

投稿

nkrmn_a
nkrmn_a

スコア27

test CHANGED
@@ -4,11 +4,21 @@
4
4
 
5
5
  ```sql
6
6
 
7
- select AA, BB, count(*) from
7
+ select AA, BB, max(cnt) from
8
8
 
9
-  (select AA, CC, BB from TABLE)
9
+  (select AA, BB, count(*) as cnt from
10
10
 
11
+   (select AA, CC, BB from TABLE)
12
+
11
- group by AA, BB
13
+  group by AA,BB
14
+
15
+ )
16
+
17
+ group by AA,BB
18
+
19
+ order by AA
20
+
21
+
12
22
 
13
23
  ```
14
24