2011-09-28 8 views
1

Postgres 8.3에서 배열 필드 내의 특정 요소를 그룹화해야합니다. 배열 자체로 그룹화하면 모든 가능한 조합이 표시됩니다. 나는 단지 요소별로 그룹화하고 싶다. 이 같은PostgreSQL의 배열 요소로 묶기

뭔가 하나의 요소의 수를 찾는 작동합니다

SELECT count(*) 
FROM table 
WHERE foo=any(bar) 

이 배열의 단일 요소에 대한 정확한 수를 반환합니다. 배열의 모든 요소에 대해 여러 번 계산하려면 어떻게합니까? 배열별로 그룹화하면 모든 배열 요소가 저장 순서와 동일한 순서로 사용됩니다 (필요한 것은 아닙니다). 선명도

편집 : 바는 내가이 얼마나 많은 기록을 알고 싶어

{다른 일부, 일} {foo는, 어떤, 일} 또는 {foo는, 일} 또는 같은 값 배열입니다 배열 "bar"에서 foo, some, thing 및 else의 요소 값.

답변

0

흠 .. 당신이 할 수없는 값으로 그룹 ..하지만, 물론 값이 ... 그것을 포함 그래서 .. 당신이 할 수 있습니다 열 수 있습니다 :

SELECT AVG(blah), foo 
FROM whatever 
WHERE foo=any(bar) 
GROUP BY foo 

작동합니다가. .

+0

있다. bar = {f, o, o}의 경우 예제는 다음과 같습니다. SELECT AVG(), f FR fOM = any (bar) 그룹 f – Josh

1

뭔가 나를 위해 작동하지 않습니다

GROUP BY bar[4] 
+0

이 실제 구문입니까? 나는 8.3을 실행 중이며 구문에 맞지 않는다. 내 질문을 더 좋은 예를 들어 업데이트 할 것이다. – Josh