我有一张传感器数据表.每行都有一个传感器ID,一个时间戳和其他字段.我想为每个传感器选择一个具有最新时间戳的行,包括一些其他字段.
我认为解决方案是按传感器ID进行分组,然后按max(timestamp)顺序排序,如下所示:
SELECT sensorID,timestamp,sensorField1,sensorField2
FROM sensorTable
GROUP BY sensorID
ORDER BY max(timestamp);
Run Code Online (Sandbox Code Playgroud)
这给了我一个错误,说"sensorField1必须出现在group by子句中或者在聚合中使用".
解决这个问题的正确方法是什么?
我正在尝试创建一个具有可变函数指针的结构.我有它的设置,以便函数指针初始化为特定的函数,但当我尝试使用它时生锈不识别指针.
我明白了
hello.rs:24:14: 24:22 error: no method named `get_func` found for type `&Container` in the current scope
hello.rs:24 self.get_func(self, key)
^~~~~~~~
Run Code Online (Sandbox Code Playgroud)
这是我的代码
use std::collections::HashMap;
struct Container {
field: HashMap<String, i32>,
get_func: fn(&Container, &str) -> i32
}
fn regular_get(obj: &Container, key: &str) -> i32 {
obj.field[key]
}
impl Container {
fn new(val: HashMap<String, i32>) -> Container {
Container {
field: val,
get_func: regular_get
}
}
fn get(&self, key: &str) -> i32 {
self.get_func(self, key)
}
}
fn main() {
let mut …Run Code Online (Sandbox Code Playgroud)