Aggregate

Struct Aggregate 

Source
pub struct Aggregate<'outer, 'inner, S> { /* private fields */ }
Expand description

This is the argument type used for aggregate.

Implementations§

Source§

impl<'outer, 'inner, S: 'static> Aggregate<'outer, 'inner, S>

Source

pub fn avg( &self, val: impl IntoExpr<'inner, S, Typ = f64>, ) -> Expr<'outer, S, Option<f64>>

Return the average value in a column, this is None if there are zero rows.

Source

pub fn max<T>( &self, val: impl IntoExpr<'inner, S, Typ = T>, ) -> Expr<'outer, S, Option<T>>
where T: NumTyp,

Return the maximum value in a column, this is None if there are zero rows.

Source

pub fn min<T>( &self, val: impl IntoExpr<'inner, S, Typ = T>, ) -> Expr<'outer, S, Option<T>>
where T: NumTyp,

Return the minimum value in a column, this is None if there are zero rows.

Source

pub fn sum<T>( &self, val: impl IntoExpr<'inner, S, Typ = T>, ) -> Expr<'outer, S, T>
where T: NumTyp,

Return the sum of a column.

Source

pub fn count_distinct<T: EqTyp + 'static>( &self, val: impl IntoExpr<'inner, S, Typ = T>, ) -> Expr<'outer, S, i64>

Return the number of distinct values in a column.

Source

pub fn exists(&self) -> Expr<'outer, S, bool>

Return whether there are any rows.

Methods from Deref<Target = Rows<'inner, S>>§

Source

pub fn join<T: Table<Schema = S>>( &mut self, j: impl Joinable<'inner, Typ = T>, ) -> Expr<'inner, S, T>

Join a table, this is like a super simple Iterator::flat_map but for queries.

After this operation Rows has rows for the combinations of each original row with each row of the table. (Also called the “Carthesian product”)

The expression that is returned refers to the joined table.

Source

pub fn filter(&mut self, prop: impl IntoExpr<'inner, S, Typ = bool>)

Filter rows based on an expression.

Source

pub fn filter_some<Typ: MyTyp>( &mut self, val: impl IntoExpr<'inner, S, Typ = Option<Typ>>, ) -> Expr<'inner, S, Typ>

Filter out rows where this expression is None.

Returns a new expression with the unwrapped type.

Trait Implementations§

Source§

impl<'inner, S> Deref for Aggregate<'_, 'inner, S>

Source§

type Target = Rows<'inner, S>

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl<S> DerefMut for Aggregate<'_, '_, S>

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.

Auto Trait Implementations§

§

impl<'outer, 'inner, S> Freeze for Aggregate<'outer, 'inner, S>

§

impl<'outer, 'inner, S> !RefUnwindSafe for Aggregate<'outer, 'inner, S>

§

impl<'outer, 'inner, S> !Send for Aggregate<'outer, 'inner, S>

§

impl<'outer, 'inner, S> !Sync for Aggregate<'outer, 'inner, S>

§

impl<'outer, 'inner, S> Unpin for Aggregate<'outer, 'inner, S>
where S: Unpin,

§

impl<'outer, 'inner, S> !UnwindSafe for Aggregate<'outer, 'inner, S>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V