搜索時,我有以下查詢:PostgreSQL的不正確的結果通過created_at
SELECT
COUNT(sr.id) AS total,
COUNT(sr.id) FILTER (where (raw #>> '{survey, declined}' IS NULL) OR (raw #>> '{survey, declined}' = 'false')) AS completed,
COUNT(sr.id) FILTER (WHERE (raw #>> '{survey, declined}' = 'true')) AS denied
FROM survey_results sr
LEFT JOIN clients c ON c.id = sr.client_id
LEFT JOIN facilities f ON f.client_id = c.id
WHERE
sr.created_at >= '2005-07-01T08:00:00+00:00' AND
sr.created_at <= '2005-08-02T07:59:59+00:00' AND
4 IS NULL OR sr.client_id = 4 AND
NULL IS NULL OR f.id = NULL
;
的問題是,這些created_at過濾器不使用。它還返回在不同時間創建的記錄。我怎樣才能解決這個問題?有
或者需要括號我想 –
我試過,但沒有解決問題。 –
也是'4爲空'總是虛假的,所以在與其他AND相同的組中有這樣的事情使整個組成爲假... –