从字符串PostgreSQL中计算不同的元素

时间:2016-11-07 11:19:40

标签: string postgresql count

我试图用以下方式计算字符串中包含的元素:

feature  count
a        3
b        2
c        3
d        1

结果:

        HtmlDocument doc = new HtmlDocument();
        doc.LoadHtml(htmlInput);

        var nodes = doc.DocumentNode.SelectNodes("//style");

        foreach (var node in nodes)
            node.ParentNode.RemoveChild(node);

        string htmlOutput = doc.DocumentNode.OuterHtml;

我已经通过查找最多的功能并将每个功能分成1列来找到解决方案,因此feature1 =字符串中的功能1的内容,但我必须手动聚合数据。必须有一个聪明的方法来确保这一点,如我的例子。

2 个答案:

答案 0 :(得分:2)

通过使用unnest()对数据进行规范化,这将转变为简单的group by

select trim(f.feature), count(*) 
from the_table t
  cross join lateral unnest(string_to_array(t.features, '|')) as f(feature)
group by trim(f.feature)
order by 1;

答案 1 :(得分:0)

我使用out = [elt.values() for elt in projects]

regexp_split_to_table