1
有人可以找到我爲什麼這個查詢產生語法錯誤嗎?這是一個簡單的廣告數據庫,它包含類別和廣告。該查詢獲取廣告類別列表,並計算廣告的數量和廣告的數量,後者表示廣告不超過2周。 PostgreSQL的說:Postgres COUNT FILTER語法錯誤 - 爲什麼?
達到或接近「(」 5行語法錯誤:篩選器(廣告...^
其他COUNT工作得很好我沒有得到什麼用的它的問題。 !。FILTER條款感謝
$data = pg_query($dbconn, 'SELECT categories.id,
categories.name,
COUNT(ads.id) AS ads_count,
COUNT(ads.id)
FILTER (WHERE ads.date > '.strtotime('-2 weeks').')
AS ads_active_count
FROM erpatak.ads_categories AS categories
LEFT JOIN erpatak.ads AS ads ON ads.category = categories.id'
.$filter.'
GROUP BY categories.id, categories.name
ORDER BY name
OFFSET '.$offset.'
LIMIT '.$maxcount);
您是否看到在您的錯誤消息中沒有'ads.date',而是有'ads' –
您是否認爲問題是它不知道ads.date應該是什麼? –
請附上正在發送到'pg_query'(不含變量)的完整查詢字符串。另外,你的Postgres服務器版本是什麼? –