gpt4 book ai didi

sql - 按另一个属性执行分组时选择一个属性

转载 作者:行者123 更新时间:2023-12-04 08:35:05 24 4
gpt4 key购买 nike

我有下表名为 Pokemon有一些口袋妖怪的信息。

+------------+-------+--------+--------+--+
| name | type | weight | color | |
+------------+-------+--------+--------+--+
| bulbasaur | grass | 10 | green | |
| squirtle | water | 7 | blue | |
| charmander | fire | 8 | orange | |
| cyndaquil | fire | 4 | black | |
| staryu | water | 12 | orange | |
+------------+-------+--------+--------+--+
我想按颜色对这张表进行分组并选择每个口袋妖怪的名字
属于每个颜色组。
即我想要 4 组:
  • 绿色
  • 蓝色
  • 橙色
  • 黑色

  • 以及每组中每个神奇宝贝的名字:
  • 球嘴龙
  • 松鼠
  • 查曼达,staryu
  • 辛达奎尔

  • 我曾尝试在 SQL 中使用 GROUP BY 子句,如下所示:
    SELECT name
    FROM POKEMON
    GROUP BY color
    但这不起作用,因为 GROUP BY 子句坚持 SELECT 中的列属性必须要么包含在 GROUP BY 中,要么有聚合函数对其进行操作。
    由于这是我在 SQL 中编码的第三天,我还没有找到解决这个问题的方法。
    提前感谢您抽出时间提供帮助。

    最佳答案

    你想要字符串聚合。在 Postgres 中,您可以将其表述为:

    select color, string_agg(name, ',') as names
    from pokemon
    group by color

    关于sql - 按另一个属性执行分组时选择一个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64840282/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com