В Postgres 8.3 мне нужно группировать по определенным элементам в поле массива. Когда я группирую по самому массиву, отображаются все возможные комбинации. Я хочу группировать только по элементу.
что-то вроде этого работает для нахождения количества элементов:
SELECT count(*)
FROM table
WHERE foo=any(bar)
это вернет правильное количество для одного элемента в массиве. Как вернуть несколько счетчиков для всех элементов в массиве? Если я сгруппируюсь по массиву, он будет использовать все элементы массива в том же порядке, в котором они хранятся (не то, что мне нужно).
отредактируйте для ясности:
bar это массив со значениями вроде {foo, some, thing} или {foo, thing} или {some, thing, else}
Я хочу знать, сколько записей имеют значение элемента foo, some, thing и др. В массиве "bar".