質問するログイン新規登録

回答編集履歴

4

正しい回答に修正

2020/02/10 08:58

投稿

nkrmn_a
nkrmn_a

スコア27

answer CHANGED
@@ -11,4 +11,50 @@
11
11
  ```
12
12
 
13
13
  早とちりで色々とミスが発覚しているので、解決済から下げさせていただきました。
14
- ご迷惑をおかけして申し訳ありません。
14
+ ご迷惑をおかけして申し訳ありません。
15
+
16
+
17
+ (追記)
18
+
19
+ どうやらSAP hanaのSQL動作が普通のものとは異なっていたようです。
20
+
21
+ 実際にSAPhanaで実行したかったSQLはポスグレなどだとほんの数行で終わるようです。
22
+ 私の環境ではそうはいかなかったので、解決した方法を記載しておきます。
23
+ 上に書いてあるCCも使用しました。
24
+ SAPhanaを使用している方は参考にしてください(長いです)。
25
+
26
+ ```SQL(hana)
27
+ WITH
28
+  tb AS(
29
+   SELECT
30
+     AA, BB, count(*) AS cnt
31
+   FROM (
32
+    SELECT
33
+     AA, BB, CC
34
+    FROM
35
+     TABLE
36
+   )
37
+   GROUP BY
38
+    AA, BB
39
+  ),
40
+  cntTb AS(
41
+   SELECT
42
+    AA, max(cnt) AS maxcnt
43
+   FROM
44
+    tb
45
+   GROUP BY
46
+    AA
47
+  )
48
+
49
+ SELECT
50
+  cntTb.AA,
51
+  BB,
52
+  maxcnt
53
+ FROM
54
+  cntTb
55
+ INNER JOIN
56
+  tb
57
+  ON  cntTb.AA = tb.AA
58
+  AND cntTb.maxcnt = tb.cnt
59
+ ORDER BY 3 DESC, 1, 2
60
+ ```

3

修正

2020/02/10 08:58

投稿

nkrmn_a
nkrmn_a

スコア27

answer CHANGED
@@ -1,4 +1,4 @@
1
- たいへん申し訳ないのですが、一つ見落としていたカラムを発見し、対処することができました。
1
+ たいへん申し訳ないのですが、一つ見落としていたカラムを発見しました。
2
2
  そもそもの考え方が異なっており、AAとBBとは別のCC(仮)もセットで一意のものとなっていました。
3
3
  ```sql
4
4
  select AA, BB, max(cnt) from
@@ -8,5 +8,7 @@
8
8
  )
9
9
  group by AA,BB
10
10
  order by AA
11
+ ```
11
12
 
13
+ 早とちりで色々とミスが発覚しているので、解決済から下げさせていただきました。
12
- ```
14
+ ご迷惑をおかけして申し訳ありません。

2

修正

2020/02/05 04:55

投稿

nkrmn_a
nkrmn_a

スコア27

answer CHANGED
@@ -9,5 +9,4 @@
9
9
  group by AA,BB
10
10
  order by AA
11
11
 
12
- ```
12
+ ```
13
- こちらで解決いたしました。

1

sql文を間違えていた

2020/02/05 04:51

投稿

nkrmn_a
nkrmn_a

スコア27

answer CHANGED
@@ -1,8 +1,13 @@
1
1
  たいへん申し訳ないのですが、一つ見落としていたカラムを発見し、対処することができました。
2
2
  そもそもの考え方が異なっており、AAとBBとは別のCC(仮)もセットで一意のものとなっていました。
3
3
  ```sql
4
- select AA, BB, count(*) from
4
+ select AA, BB, max(cnt) from
5
+  (select AA, BB, count(*) as cnt from
5
-  (select AA, CC, BB from TABLE)
6
+   (select AA, CC, BB from TABLE)
6
- group by AA, BB
7
+  group by AA,BB
8
+ )
9
+ group by AA,BB
10
+ order by AA
11
+
7
12
  ```
8
13
  こちらで解決いたしました。