-- running \crosstabview after query uses query in buffer SELECT v, EXTRACT(year FROM d), count(*) FROM ctv_data GROUPBY1, 2 ORDERBY1, 2; -- basic usage with 3 columns
\crosstabview
-- ordered months in horizontal header, quoted column name SELECT v, to_char(d, 'Mon') AS"month name", EXTRACT(month FROM d) AS num,
count(*) FROM ctv_data GROUPBY1,2,3ORDERBY1
\crosstabview v "month name"4 num
-- ordered months in vertical header, ordered years in horizontal header SELECT EXTRACT(year FROM d) AS year, to_char(d,'Mon') AS"""month"" name",
EXTRACT(month FROM d) AS month,
format('sum=%s avg=%s', sum(i), avg(i)::numeric(2,1)) FROM ctv_data GROUPBY EXTRACT(year FROM d), to_char(d,'Mon'), EXTRACT(month FROM d) ORDERBY month
\crosstabview """month"" name" year format year
-- combine contents vertically into the same cell (V/H duplicates) SELECT v, h, string_agg(c, E'\n') FROM ctv_data GROUPBY v, h ORDERBY1,2,3
\crosstabview 123
-- horizontal ASC order from window function SELECT v,h, string_agg(c, E'\n') AS c, row_number() OVER(ORDERBY h) AS r FROM ctv_data GROUPBY v, h ORDERBY1,3,2
\crosstabview v h c r
-- horizontal DESC order from window function SELECT v, h, string_agg(c, E'\n') AS c, row_number() OVER(ORDERBY h DESC) AS r FROM ctv_data GROUPBY v, h ORDERBY1,3,2
\crosstabview v h c r
-- horizontal ASC order from window function, NULLs pushed rightmost SELECT v,h, string_agg(c, E'\n') AS c, row_number() OVER(ORDERBY h NULLS LAST) AS r FROM ctv_data GROUPBY v, h ORDERBY1,3,2
\crosstabview v h c r
-- only null, no column name, 2 columns: error SELECTnull,null \crosstabview
-- only null, no column name, 3 columns: works SELECTnull,null,null \crosstabview
-- null display
\pset null'#null#' SELECT v,h, string_agg(i::text, E'\n') AS i FROM ctv_data GROUPBY v, h ORDERBY h,v
\crosstabview v h i
\pset null''
-- refer to columns by position SELECT v,h,string_agg(i::text, E'\n'), string_agg(c, E'\n') FROM ctv_data GROUPBY v, h ORDERBY h,v
\crosstabview 214
-- refer to columns by positions and names mixed SELECT v,h, string_agg(i::text, E'\n') AS i, string_agg(c, E'\n') AS c FROM ctv_data GROUPBY v, h ORDERBY h,v
\crosstabview 1"h"4
-- refer to columns by quoted names, check downcasing of unquoted name SELECT1as"22", 2as b, 3as"Foo"
\crosstabview "22" B "Foo"
-- error: bad column name SELECT v,h,c,i FROM ctv_data
\crosstabview v h j
-- error: need to quote name SELECT1as"22", 2as b, 3as"Foo"
\crosstabview 12 Foo
-- error: need to not quote name SELECT1as"22", 2as b, 3as"Foo"
\crosstabview 1"B""Foo"
-- error: bad column number SELECT v,h,i,c FROM ctv_data
\crosstabview 215
-- error: same H and V columns SELECT v,h,i,c FROM ctv_data
\crosstabview 2 h 4
-- error: too many columns SELECT a,a,1FROM generate_series(1,3000) AS a
\crosstabview
-- error: only one column SELECT1 \crosstabview
DROPTABLE ctv_data;
-- check error reporting (bug #14476) CREATETABLE ctv_data (x int, y int, v text);
INSERTINTO ctv_data SELECT1, x, '*' || x FROM generate_series(1,10) x; SELECT * FROM ctv_data \crosstabview
INSERTINTO ctv_data VALUES (1, 10, '*'); -- duplicate data to cause error SELECT * FROM ctv_data \crosstabview
DROPTABLE ctv_data;
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.1 Sekunden
(vorverarbeitet am 2026-08-08)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.