У меня есть таблица вида:PostgreSQL Простой Таблицы результатов (строки в столбцы и столбцы в строки) в большом наборе данных
CELL day1 day2 day3 day4 ...... day365
1 3,7167 0 0 0,1487 ...... 0,3256
2 0 0 0,2331 0,1461 ...... 1,8765
3 1,431 0,4121 0 1,4321 ...... 0
...
...
...
64800
Я хотел бы transponse моего стола, так что у меня есть строки как столбцы и столбцы в виде строк. Результат выглядит следующим образом:
DAY 1 2 3 ...... 64800
day1 3,7167 0 1,431 ...... ......
day2 0 0 0,4121 ...... ......
day3 0 0,2331 0 ...... ......
day4 0,1487 0,1461 1,4321 ...... ......
...
...
...
day365
Моя самая большая проблема - размер стола (365 столбцов и 64800 строк). Как написать запрос, где мне не нужно определять столбцы, которые я хочу в выводе. Есть ли способ создать таблицу без определения каждого столбца, и вы могли бы показать, как должен выглядеть мой запрос?
Моя вторая проблема заключается в том, что я даже не получаю кросс-таблицу для работы в datasubset. Следующий запрос:
SELECT * FROM crosstab(
'SELECT * FROM 1997_subset ORDER BY 1,2')
AS test("cell" int, "day1" double precision, "day2" double precision, "day3" double precision, "day4" double precision, "day5" double precision)
дает мне эту ошибку:
ERROR: invalid source data SQL statement
DETAIL: The provided SQL must return 3 columns: rowid, category, and values.
Помощь очень ценится, спасибо большое!
Возможно, вы ищете этот ответ SO (http://stackoverflow.com/questions/3002499/postgresql-crosstab-query) –
Число столбцов ограничено 250-1600, см. [О PostgreSQL] (http://www.postgresql.org/about/). – klin
Зачем нужны 64800 столбцов? Что представляют собой эти столбцы? – CodeMonkey