我正在尝试执行一个SELECT
来返回id
和一个修改时间最久的商品的修改timestamp
。稍后,我将获取ID并查询该商品。我这样做不是按照修改时间排序并选择第一个项目。
#[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
的元组?