Sql 我可以计算postgres数组字段的发生次数吗?
我有一个表postgres,它使用数组类型的数据,它允许一些魔术,使它能够避免有更多的表,但这种非标准的性质使初学者更难操作。 我想从中得到一些概要数据 样本内容:Sql 我可以计算postgres数组字段的发生次数吗?,sql,arrays,postgresql,count,unnest,Sql,Arrays,Postgresql,Count,Unnest,我有一个表postgres,它使用数组类型的数据,它允许一些魔术,使它能够避免有更多的表,但这种非标准的性质使初学者更难操作。 我想从中得到一些概要数据 样本内容: CREATE TABLE public.cts ( id serial NOT NULL, day timestamp NULL, ct varchar[] NULL, CONSTRAINT ctrlcts_pkey PRIMARY KEY (id) ); INSERT INTO public.ct
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
使用:
:
| name | cnt |
| ----- | --- |
| ct277 | 1 |
| ct281 | 3 |
| ct286 | 3 |
ct277
的计数是1
,而不是2
@gmb,这就是为什么我需要一种sql方法来实现它:)
| name | cnt |
| ----- | --- |
| ct277 | 1 |
| ct281 | 3 |
| ct286 | 3 |