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

Я пытаюсь выполнить 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 в этом?

0 ответов

Другие вопросы по тегам