나는 하나의 이벤트에 대해 true (출석), false (비 출석) 및 NULL에 해당하는 배열 요소를 계산합니다. PostgreSQL 카운트 어레이 값
는 편집 :난 그냥 내가 PSQL에서 생각대로 배열
userconfirm bool[]
이 충분하다
너무 단순하고 행동하지 않는 것을 깨달았다. 그러나, 나는 여전히 true/false/null 값을 계산하는 것과 같은 문제가 있습니다. 이 새로운 제약 조건과 일치하도록 아래 질문을 편집하려고 시도합니다. 오류가 있으면 사과드립니다.나는 userconfirm[314] = true
이 참석 해당 사용자 번호 (314)를 의미 할 것 같은
userconfirm bool[]
으로 열 수 있습니다. (false = 참석하지 않음, NULL = 읽지 않음/etc).
이 기능에 가장 적합한 솔루션 (사용자가 이벤트 참석 여부를 알리는 방법)이 확실하지 않지만이 열의 집계 함수에 문제가 있습니다.
select count(*) from foo where id = 6 AND true = ANY (userconfirm);
이것은 단지 1을 반환하며 "계산 배열"이라는 단어를 사용하면 아무 것도 유용하지 않습니다.
단일 이벤트에 대해 서로 다른 값을 계산하려면 어떻게해야합니까?
그게 효과가있는 것 같습니다.그리고 나는 그 반대의 것을 얻기 위해 그것을 반대로 할 수 있습니다. 나는 당신이 사실 인 인덱스 목록을 얻는 방법을 알지 못한다고 생각하지 않습니까? 예 : 1434를 반환해라. – TLP
@TLP : 당신은'unnest'와'generate_series'의 조합으로 할 수 있다고 생각합니다; 'unnest'는 배열을 열고'generate_series'는 인덱스 번호를 제공합니다. 그런 다음 다시 배열 할 'array_agg'. –
@TLP : 아니면 인덱스를 제공하기 위해'rank() over'하십시오. –