0

与我的上一个问题非常相似,现在我只想要按优先级顺序排列的“完整组合”。所以,从这个源表:

+-------+-------+----------+
| GROUP | State | Priority |
+-------+-------+----------+
|   1   |  MI   |     1    |
|   1   |  IA   |     2    |
|   1   |  CA   |     3    |
|   1   |  ND   |     4    |
|   1   |  AZ   |     5    |
|   2   |  IA   |     2    |
|   2   |  NJ   |     1    |
|   2   |  NH   |     3    |

And so on...

我需要一个返回的查询:

+-------+---------------------+
| GROUP |     COMBINATION     |
+-------+---------------------+
|   1   | MI, IA, CA, ND, AZ  |
|   2   | NJ, IA, NH          |
+-------+---------------------+

再次感谢您的帮助!

4

1 回答 1

1

在组内使用listagg()按优先级排序。

SELECT "GROUP",
       listagg("STATE", ', ') WITHIN GROUP (ORDER BY "PRIORITY")
       FROM "ELBAT"
       GROUP BY "GROUP";

db<>小提琴

于 2019-04-09T19:44:37.020 回答