SQL:2003 FILTER 句
SQLの集約関数の対象を選択できる
FILTER 句 は SQL:2003 に T612: Advanced OLAP operations として追加された
PostgreSQL が 9.4 (2014/12/18) から対応
4.2.7. 集約式
Amazon RedshiftはPostgreSQL 8.0.4ベースなので非対応
SQLiteは 3.30.1 (2019/10/10) からサポート -> changelog
Presto は 0.156 から対応
code:SQL-92(sql)
select sum(case when condition then clm end)
code:SQL-2003(sql)
select sum(clm) filter (where condition)
Djangoは2.0からサポート
https://github.com/django/django/pull/8352
その影響でDjango-Redshift-BackendのaggregationクエリがDjanog-2.0からバグっていた
https://github.com/jazzband/django-redshift-backend/pull/74