2014-09-16 3 views
0

에 hstore 키 이름을 공유했습니다.계산은 PostgreSQL을

예를 들어, 테이블 위의 다음과 같은 데이터가 있다면 :

   properties      
------------------------------------------------- 
"width"=>"b", "height"=>"a" 
"width"=>"b", "height"=>"a", "surface"=>"black" 
"width"=>"c" 

내가 그 각 행에서 발생하는 유일한 열쇠로, 'width'을 반환하는 쿼리를 작성합니다 어떻게?

skeys()은 모든 속성 키를 제공하지만 각 행에 발생하는 키만 포함하도록 집계하는 방법을 모르겠습니다.

답변

1

설명서는 "통계"라는 제목 아래 http://www.postgresql.org/docs/8.3/static/hstore.html의 하단에있는 모든 방법으로 길을 안내합니다. 설명서는 hstore에서 키를 계산하는 방법을 설명합니다.

위의 샘플 표를 적용하면 표의 행 수와 비교할 수 있습니다.

SELECT key 
    FROM (SELECT (each(properties)).key FROM thing1) AS stat 
    GROUP BY key 
     HAVING count(*) = (select count(*) from thing1) 
    ORDER BY key; 

당신이 반대 (없는 테이블의 모든 행에 모든 키를) 찾을 단지 <에 =를 변경하려면 당신은 비즈니스에있어!