Node.js 使用Sequelize时,如何从具有字符串数组值(逗号分隔的数据)的列中获取不同的值计数?
我有一个postgresql数据库表,它有一个列,根据角色将选定的候选ID存储在字符串数组中。 例如:Node.js 使用Sequelize时,如何从具有字符串数组值(逗号分隔的数据)的列中获取不同的值计数?,node.js,postgresql,sequelize.js,Node.js,Postgresql,Sequelize.js,我有一个postgresql数据库表,它有一个列,根据角色将选定的候选ID存储在字符串数组中。 例如: selectedCandidate ID以字符串数组格式保存为逗号分隔的数据。因此,如果要将数据存储在如下表中,我需要计算所选不同候选项的总数(SelectedCandidates列中的不同selectedCandidate ID总数): create table candidates ( id integer, selectedcandidates _text ); selec
selectedCandidate ID以字符串数组格式保存为逗号分隔的数据。因此,如果要将数据存储在如下表中,我需要计算所选不同候选项的总数(SelectedCandidates列中的不同selectedCandidate ID总数):
create table candidates (
id integer,
selectedcandidates _text
);
select candidate_id, count(candidate_id)
from candidates,
lateral (select * from unnest(selectedcandidates)) cand(candidate_id)
group by candidate_id;
还有一些数据:
insert into candidates
values
(1, '{11d,3c,4f}'::text[]),
(2, '{141d,34c,4f}'::text[]),
(3, '{3c}'::text[]);
您可以这样计算候选事件:
create table candidates (
id integer,
selectedcandidates _text
);
select candidate_id, count(candidate_id)
from candidates,
lateral (select * from unnest(selectedcandidates)) cand(candidate_id)
group by candidate_id;
致以最诚挚的问候,Bjarni为什么要将ID和候选人存储在一列中?