FILTER clause for aggregate functions
Recorded source states and original language descriptions. Missing version evidence stays unknown.
The source snapshot records transitions for PostgreSQL 8.1–18. The historical matrix records independent cells for 7.4–18. Neither records support for PostgreSQL 19 or 20; newer versions remain unknown. These source claims are distinct from runtime measurements.
Custom Functions, Stored Procedures, & Triggers
Description
Aggregate functions can now be filtered with the FILTER clause. For example: count(col_a) FILTER (WHERE col_b > 5)
Selected version: PostgreSQL 18
Yes
Compare versions
Original documentation links
Recorded legacy identifiers: 263
Complete source facts and provenance
yaml · center · 1dd22bf9a7f3ec325b894e2836fda535a25529f246a94dd41d6abbfe9997f7fd
{
"Key": "filter-clause-for-aggregate-functions",
"SourceKind": "yaml",
"SourceDatabase": "center",
"SourceTable": "featurematrix.yaml",
"SourceKey": "FILTER clause for aggregate functions",
"SourceHash": "1dd22bf9a7f3ec325b894e2836fda535a25529f246a94dd41d6abbfe9997f7fd",
"Name": "FILTER clause for aggregate functions",
"NameLocale": "en",
"GroupKey": "custom-functions-stored-procedures-triggers",
"GroupName": "Custom Functions, Stored Procedures, \u0026 Triggers",
"GroupLocale": "en",
"Ordinal": 7,
"GroupOrder": 18,
"Facts": {
"feature": {
"description": "Aggregate functions can now be filtered with the FILTER clause. For example: count(col_a) FILTER (WHERE col_b \u003e 5)",
"name": "FILTER clause for aggregate functions",
"versions": {
"9.4": "Yes"
}
},
"group": "Custom Functions, Stored Procedures, \u0026 Triggers",
"versions": {
"max": 18,
"min": 8.1
}
},
"Cells": [
{
"Version": "10",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "9.4",
"Supported": true,
"Original": "Yes"
},
{
"Version": "11",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "9.4",
"Supported": true,
"Original": "Yes"
},
{
"Version": "12",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "9.4",
"Supported": true,
"Original": "Yes"
},
{
"Version": "13",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "9.4",
"Supported": true,
"Original": "Yes"
},
{
"Version": "14",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "9.4",
"Supported": true,
"Original": "Yes"
},
{
"Version": "15",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "9.4",
"Supported": true,
"Original": "Yes"
},
{
"Version": "16",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "9.4",
"Supported": true,
"Original": "Yes"
},
{
"Version": "17",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "9.4",
"Supported": true,
"Original": "Yes"
},
{
"Version": "18",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "9.4",
"Supported": true,
"Original": "Yes"
},
{
"Version": "8.1",
"State": "no",
"EvidenceKind": "yaml-default-no",
"TransitionVersion": "",
"Supported": false,
"Original": "No"
},
{
"Version": "8.2",
"State": "no",
"EvidenceKind": "yaml-default-no",
"TransitionVersion": "",
"Supported": false,
"Original": "No"
},
{
"Version": "8.3",
"State": "no",
"EvidenceKind": "yaml-default-no",
"TransitionVersion": "",
"Supported": false,
"Original": "No"
},
{
"Version": "8.4",
"State": "no",
"EvidenceKind": "yaml-default-no",
"TransitionVersion": "",
"Supported": false,
"Original": "No"
},
{
"Version": "9.0",
"State": "no",
"EvidenceKind": "yaml-default-no",
"TransitionVersion": "",
"Supported": false,
"Original": "No"
},
{
"Version": "9.1",
"State": "no",
"EvidenceKind": "yaml-default-no",
"TransitionVersion": "",
"Supported": false,
"Original": "No"
},
{
"Version": "9.2",
"State": "no",
"EvidenceKind": "yaml-default-no",
"TransitionVersion": "",
"Supported": false,
"Original": "No"
},
{
"Version": "9.3",
"State": "no",
"EvidenceKind": "yaml-default-no",
"TransitionVersion": "",
"Supported": false,
"Original": "No"
},
{
"Version": "9.4",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "9.4",
"Supported": true,
"Original": "Yes"
},
{
"Version": "9.5",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "9.4",
"Supported": true,
"Original": "Yes"
},
{
"Version": "9.6",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "9.4",
"Supported": true,
"Original": "Yes"
}
],
"Texts": [
{
"Locale": "en",
"Title": "FILTER clause for aggregate functions",
"BodyHTML": "\u003cp\u003eAggregate functions can now be filtered with the FILTER clause. For example: count(col_a) FILTER (WHERE col_b \u0026gt; 5)\u003c/p\u003e\n",
"SourceHash": "1dd22bf9a7f3ec325b894e2836fda535a25529f246a94dd41d6abbfe9997f7fd",
"ContentHash": "6bdcd16777b366385779b243556819442ee830005886abc672381adca2b7cc29",
"Payload": {
"description": "Aggregate functions can now be filtered with the FILTER clause. For example: count(col_a) FILTER (WHERE col_b \u003e 5)",
"name": "FILTER clause for aggregate functions",
"versions": {
"9.4": "Yes"
}
}
},
{
"Locale": "zh-Hans",
"Title": "聚合函数的 FILTER 子句",
"BodyHTML": "\u003cp\u003e聚合函数现在可以使用 FILTER 子句进行过滤。例如:count(col_a) FILTER (WHERE col_b \u0026gt; 5)\u003c/p\u003e\n",
"SourceHash": "071091951021357a5f492adb04caed6febf4d315ac2626ca027a48dd8ec01d50",
"ContentHash": "eff47137968b2ad23c5f744c1cd5520bc7f7b4918ef931119f256a3bfafeb067",
"Payload": {
"description": "聚合函数现在可以使用 FILTER 子句进行过滤。例如:count(col_a) FILTER (WHERE col_b \u003e 5)",
"name": "聚合函数的 FILTER 子句"
}
}
],
"GroupTitles": {
"en": "Custom Functions, Stored Procedures, \u0026 Triggers",
"zh-Hans": "自定义函数、存储过程和触发器"
},
"LegacyIDs": [
"263"
]
}