【发布时间】:2020-01-20 14:23:33
【问题描述】:
我有一个 postgres 表,它使用数组类型的数据,它允许一些魔法,可以避免拥有更多的表,但是它的非标准性质使得初学者更难以操作。 我想从中获取一些摘要数据。
示例内容:
CREATE TABLE public.cts (
id serial NOT NULL,
day timestamp NULL,
ct varchar[] NULL,
CONSTRAINT ctrlcts_pkey PRIMARY KEY (id)
);
INSERT INTO public.cts
(id, day, ct)
VALUES(29, '2015-01-24 00:00:00.000', '{ct286,ct281}');
INSERT INTO public.cts
(id, day, ct)
VALUES(30, '2015-01-25 00:00:00.000', '{ct286,ct281}');
INSERT INTO public.cts
(id, day, ct)
VALUES(31, '2015-01-26 00:00:00.000', '{ct286,ct277,ct281}');
我想汇总每个数组成员出现的总数,例如输出如下:
name | value
ct286 | 3
ct281 | 3
ct277 | 1
【问题讨论】:
-
ct277的计数为1,而不是2。 -
@gmb 这就是为什么我需要一种 sql 方式来做到这一点:)
标签: sql arrays postgresql count unnest