percent_rank

Function percent_rank 

Source
pub fn percent_rank() -> percent_rank
Expand description

Percentage rank value

Returns the relative rank of the current row, that is (rank - 1) / (total partition rows - 1). The value thus ranges from 0 to 1 inclusive.

This function must be used as window function. You need to call at least one of the methods WindowExpressionMethods from to use this function in your SELECT clause. It cannot be used outside of SELECT clauses.

For MySQL this function requires you to call .window_order()

let res = posts
    .select((
        title,
        user_id,
        percent_rank().partition_by(user_id).window_order(user_id),
    ))
    .load::<(String, i32, f64)>(connection)?;
let expected = vec![
    ("My first post".to_owned(), 1, 0.0),
    ("About Rust".into(), 1, 0.0),
    ("My first post too".into(), 2, 0.0),
];
assert_eq!(expected, res);