问题描述
考虑以下数据:
|model| qty | color |
--------------------------------------------------
| y | 6 | {yellow,red,red} |
--------------------------------------------------
| z | 4 | {red,blue,yellow} |
--------------------------------------------------
| x | 9 | {yellow,yellow,yellow} |
--------------------------------------------------
是否可以在不使用子查询的情况下对下面数组中分组的每种“颜色”进行计数? (例如,对于“ y”,我将使用“ yellow:1”,“ red:2”)
SELECT model,SUM(qty),ARRAY_AGG(color) FROM test GROUP BY model;
类似的东西:
SELECT model,ARRAY_AGG(ARRAY[color,COUNT(*)::TEXT]) FROM test GROUP BY model;
示例代码:
CREATE TABLE test (model TEXT,qty DOUBLE PRECISION,color TEXT);
INSERT INTO test (model,qty,color) VALUES
('x',1,'yellow'),('y',('z',2,'red'),('x',3,'blue'),4,'yellow');
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)