# AggregateFunctionBuilder (/docs/core/reference/api/interfaces/AggregateFunctionBuilder)



[@kysoql/core](/docs/core/reference/api) / AggregateFunctionBuilder

Builder for a typed Salesforce aggregate function expression.

## Extends [#extends]

* [`AggregateFunctionExpression`](/docs/core/reference/api/interfaces/AggregateFunctionExpression)\<`Output`, `ComparisonValue`, `Operator`>

## Extended by [#extended-by]

* [`GroupingFunctionBuilder`](/docs/core/reference/api/interfaces/GroupingFunctionBuilder)

## Type Parameters [#type-parameters]

| Type Parameter                                                                                        | Default type                                                                     |
| ----------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| `Output`                                                                                              | -                                                                                |
| `ComparisonValue`                                                                                     | `unknown`                                                                        |
| `Operator` *extends* [`ComparisonOperator`](/docs/core/reference/api/type-aliases/ComparisonOperator) | [`ComparisonOperator`](/docs/core/reference/api/type-aliases/ComparisonOperator) |

## Methods [#methods]

<a id="api-as" />

### as() [#as]

```ts
as<Alias>(alias): AliasedAggregateFunctionBuilder<Output, Alias>;
```

Aliases this expression for SELECT output and result mapping.

#### Type Parameters [#type-parameters-1]

| Type Parameter             |
| -------------------------- |
| `Alias` *extends* `string` |

#### Parameters [#parameters]

| Parameter | Type    |
| --------- | ------- |
| `alias`   | `Alias` |

#### Returns [#returns]

[`AliasedAggregateFunctionBuilder`](/docs/core/reference/api/interfaces/AliasedAggregateFunctionBuilder)\<`Output`, `Alias`>

***

<a id="api-tooperationnode" />

### toOperationNode() [#tooperationnode]

```ts
toOperationNode(): AggregateFunctionNode;
```

Returns the immutable operation node represented by this expression.

#### Returns [#returns-1]

[`AggregateFunctionNode`](/docs/core/reference/api/type-aliases/AggregateFunctionNode)

#### Inherited from [#inherited-from]

[`AggregateFunctionExpression`](/docs/core/reference/api/interfaces/AggregateFunctionExpression).[`toOperationNode`](/docs/core/reference/api/interfaces/AggregateFunctionExpression#tooperationnode)

## Properties [#properties]

| Property                                                                 | Modifier   | Type                    | Description                                                                                                        | Inherited from                                                                                                                                                                                                                   |
| ------------------------------------------------------------------------ | ---------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <a id="api-property-expressiontype" /> `expressionType`                  | `readonly` | `Output` \| `undefined` | Type-only output marker used for fluent-query inference; implementations do not expose a meaningful runtime value. | [`AggregateFunctionExpression`](/docs/core/reference/api/interfaces/AggregateFunctionExpression).[`expressionType`](/docs/core/reference/api/interfaces/AggregateFunctionExpression#api-property-expressiontype)                 |
| <a id="api-property-comparisonvaluetype" /> `comparisonValueType?`       | `readonly` | `ComparisonValue`       | Type-only marker for values accepted when comparing this expression.                                               | [`AggregateFunctionExpression`](/docs/core/reference/api/interfaces/AggregateFunctionExpression).[`comparisonValueType`](/docs/core/reference/api/interfaces/AggregateFunctionExpression#api-property-comparisonvaluetype)       |
| <a id="api-property-comparisonoperatortype" /> `comparisonOperatorType?` | `readonly` | `Operator`              | Type-only marker for comparison operators supported by this expression.                                            | [`AggregateFunctionExpression`](/docs/core/reference/api/interfaces/AggregateFunctionExpression).[`comparisonOperatorType`](/docs/core/reference/api/interfaces/AggregateFunctionExpression#api-property-comparisonoperatortype) |
