SQL添加列的逗号分隔值

时间:2017-09-12 07:21:32

标签: sql vertica

我有一张桌子

  Column 1|Column 2
  --------|---------
  6       |  abc
  9       |  xyz
  1       |  cc
  3       |  aa

我想要一个查询,它总结了vertica

中这些逗号分隔的值
->add('Date', 'date',array('widget'=>'single_text','format'=>'d/M/y HH:mm:ss'))

3 个答案:

答案 0 :(得分:1)

SQL Server解决方案

select col2, sum(cast(value as int)) FROM tab
CROSS APPLY STRING_SPLIT(col1, ',')
GROUP BY col2;

SQL Server demo

答案 1 :(得分:1)

这是Postgres的解决方案

select column_2, sum(t.x) as column_1
from the_table
  cross join lateral unnest(split_to_array(column_1,',')::int[]) as t(x)
group by column_2;

答案 2 :(得分:0)

在Vertica中,您可以使用regexp_count

示例:

dbadmin=> select REGEXP_COUNT('1,2,3,4,' , ',');
 REGEXP_COUNT
--------------
            4
(1 row)