Группа и сумма с динамическими именами столбцов - PullRequest
1 голос
/ 21 октября 2011

Мне нужно сгруппировать таблицу по году и SUM всех возможных типов (неизвестно) с динамическими именами столбцов.

Пример таблицы:

Type|Year
a    2001
a    2001
c    2002
b    2002
c    2003
a    2003
z    2003

Пример результата:

Year: 2001, Type_a: 2
Year: 2002, Type_c: 1, Type_b: 1
Year: 2003, Type_c: 1, Type_a: 1, Type_z: 1

Ответы [ 3 ]

1 голос
/ 21 октября 2011

Вы можете группировать и суммировать типы, используя такой запрос -

SELECT year, type, COUNT(type) FROM table_name GROUP BY year, type;

Это дает другой набор результатов, но с данными, которые вы хотите.

0 голосов
/ 21 октября 2011

SOL не предназначена для этого, результат никогда не может иметь различное количество столбцов для каждой строки.

Я думаю, что лучший способ получить это - изменить дизайн вашего набора результатов с объединением информациипо примеру.Или с фиксированным числом .column, заполненным нулевыми или пустыми значениями.

С другой стороны, вы можете сделать это программно, если ваш язык допускает динамическое число столбцов для каждой строки.

0 голосов
/ 21 октября 2011
SELECT year,COUNT(type) from tableName GROUP BY(type)

попробуйте это

...