0
select name, (regexp_split_to_array(name, '')) from table

結果は{a,b,c,d,e}です。それを個々の行に分割し、名前でグループ化して、次のようにすることは可能ですか?

a 1
b 2
c 3
d 4
e 5
4

3 に答える 3

0

unnest関数を探しています。

select name, unnest(regexp_split_to_array(name, '')) from table
于 2016-02-10T22:43:20.603 に答える
0

ウィンドウ関数unnest()で使用:row_number()

WITH test_table(name) AS ( VALUES
  ('abcde')
)
SELECT *,row_number() OVER () AS row FROM (
  SELECT unnest(regexp_split_to_array(name,'')) AS name FROM test_table
) t;

結果:

 name | row 
------+-----
 a    |   1
 b    |   2
 c    |   3
 d    |   4
 e    |   5
(5 rows)

SOにも素晴らしい答えがあります:

于 2016-02-10T22:44:38.577 に答える