Выберите идентификатор, минимальная ошибка отсутствующей реализации кортежа - PullRequest
0 голосов
/ 02 ноября 2018

Я пытаюсь выполнить SELECT, который возвращает id и модификацию timestamp элемента с самым старым временем модификации. Позже я собираюсь взять идентификатор и запросить предмет. Я делаю это вместо того, чтобы упорядочивать по времени модификации и выбирать первый элемент.

#[macro_use]
extern crate diesel;

mod schema {
    use std::time::SystemTime;
    table! {
        items(id) {
            id -> Int4,
            modified -> Timestamp,        
        }        
    }

    #[derive(Identifiable, Queryable)]
    pub struct Item {
        pub id: i32,
        pub modified: SystemTime
    }
}

fn main() {
    use self::schema::items::dsl::*;
    use diesel::dsl::min;
    use diesel::prelude::*;

    let sth = items.select((id, min(modified)));
}

Я получаю следующее сообщение об ошибке:

the trait `diesel::expression::NonAggregate` is not implemented for `diesel::expression::functions::aggregate_ordering::min::min<diesel::sql_types::Timestamp, schema::items::columns::modified>`

Я что-то упустил, или я просто не могу запросить кортеж с min в нем?

...