pub struct AggregateExpr {
pub function: AggregateFunction,
pub arg: Option<TypedExpr>,
pub extra_args: Vec<TypedExpr>,
pub distinct: bool,
pub result_type: ResolvedType,
pub filter: Option<TypedExpr>,
pub order_by: Vec<SortExpr>,
}Expand description
Aggregate expression definition.
Fields§
§function: AggregateFunction§arg: Option<TypedExpr>§extra_args: Vec<TypedExpr>Additional inputs for two-argument aggregates. Existing accumulators
remain single-input through arg; only covariance, regression, and
arg-min/max consume this vector.
distinct: bool§result_type: ResolvedType§filter: Option<TypedExpr>FILTER (WHERE predicate): rows where the predicate is not TRUE are
skipped before the accumulator (and any DISTINCT set) sees them.
order_by: Vec<SortExpr>Aggregate-local ordering. Non-empty only for order-sensitive aggregates (GROUP_CONCAT / STRING_AGG / ordered-set aggregates); the planner discards validated ORDER BY on order-insensitive aggregates (D3 in docs/sql-aggregate-filter-within-group.md).
Implementations§
Source§impl AggregateExpr
impl AggregateExpr
Trait Implementations§
Source§impl Clone for AggregateExpr
impl Clone for AggregateExpr
Source§fn clone(&self) -> AggregateExpr
fn clone(&self) -> AggregateExpr
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for AggregateExpr
impl RefUnwindSafe for AggregateExpr
impl Send for AggregateExpr
impl Sync for AggregateExpr
impl Unpin for AggregateExpr
impl UnsafeUnpin for AggregateExpr
impl UnwindSafe for AggregateExpr
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more