Release Note
Add control over which values are passed into aggregate functions using the FILTER clause (David Fetter)
手册中提到聚合函数增加 FILTER 属性, 也就是说在聚合函数 avg(), min(), max(), sum() 等可以使用 FILTER 属性过滤数据, 之前可能用到到以下方式实现:
1 |
select sum( case when ... then 1 else 0 end ) from .. |
例如:
1 |
francs=> select |
使用 FILTER 属性
1 |
francs=> SELECT |
备注:这样方便很多,方便平常 SQL 写得多的同学们。
使用 Sum 函数
1 |
francs=> SELECT |
1 到 20 按条件分组
1 |
francs=> SELECT array_agg(i) FILTER (WHERE i % 2 = 0) AS twos, |
参考
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/238068.html