我有一个名为以下表格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组:
以及每组中每个宠物小精灵的名字:
我试过像这样在SQL中使用GROUP BY子句:
SELECT name
FROM POKEMON
GROUP BY color
但这是行不通的,因为GROUP BY子句坚持认为SELECT中的column属性必须包含在GROUP BY中或必须对它进行聚合。
由于这是我使用SQL进行编码的第三天,所以我尚未找到解决此问题的方法。
预先感谢您抽出宝贵的时间来帮助您。
您想要字符串聚合。在Postgres中,您可以这样说:
select color, string_agg(name, ',') as names
from pokemon
group by color
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句