Postgresql垂直到水平,一个表
我正在尝试用postgresql创建一个小词汇表。 到目前为止,我有一个带有一些“垂直值”的表 但我希望它是这样的:Postgresql垂直到水平,一个表,postgresql,Postgresql,我正在尝试用postgresql创建一个小词汇表。 到目前为止,我有一个带有一些“垂直值”的表 但我希望它是这样的: Sing_id en_GB de_DE fr_FR ru_RU ... 1 yes ja oui 2 no nein niet ... 你想给我一个如何实现这一点的提示吗?你说的是“旋转” 见此帖: 来自post的示例: SELECT * FROM cros
Sing_id en_GB de_DE fr_FR ru_RU ...
1 yes ja oui
2 no nein niet ...
你想给我一个如何实现这一点的提示吗?你说的是“旋转” 见此帖: 来自post的示例:
SELECT *
FROM crosstab(
'SELECT
a date,
b.desc AS os,
(random() * 10000 + 1)::int AS value
FROM generate_series((now() - ''100 days''::interval)::date, now()::date, ''1 DAY''::interval) a,
(SELECT unnest(ARRAY[''OSX'', ''Windows'', ''Linux'']) AS DESC) b ORDER BY 1,2
','SELECT unnest(ARRAY[''OSX'', ''Windows'', ''Linux''])'
)
AS ct(date date, OSX int, Windows int, Linux int);
谢谢我将尝试交叉表功能。我还发现了这个:
SELECT *
FROM crosstab(
'SELECT
a date,
b.desc AS os,
(random() * 10000 + 1)::int AS value
FROM generate_series((now() - ''100 days''::interval)::date, now()::date, ''1 DAY''::interval) a,
(SELECT unnest(ARRAY[''OSX'', ''Windows'', ''Linux'']) AS DESC) b ORDER BY 1,2
','SELECT unnest(ARRAY[''OSX'', ''Windows'', ''Linux''])'
)
AS ct(date date, OSX int, Windows int, Linux int);