另一种组合

时间:2019-04-09 19:24:19

标签: oracle plsql combinations hierarchical-query

与我的last question非常相似,现在我只需要按优先级将“完整组合”用于一个组。因此,从此源表:

+-------+-------+----------+
| 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          |
+-------+---------------------+

再次感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

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

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

db<>fiddle