【问题标题】:Another Combination另一种组合
【发布时间】:2019-04-09 19:24:18
【问题描述】:

与我的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          |
+-------+---------------------+

再次感谢您的帮助!

【问题讨论】:

    标签: oracle plsql combinations hierarchical-query


    【解决方案1】:

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

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

    db<>fiddle

    【讨论】:

    • 四行。哇,太棒了。非常感谢!
    猜你喜欢
    • 2011-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多