如何从SQL表中检索每个卡的最新值,包括传感器id和最接近今天日期的事件类型?
create table events (
sensor_id integer not null,
event_type integer not null,
value integer not null,
time timestamp unique not null
);
我试过下面的代码
SELECT TOP 1 *
FROM events
WHERE events.time < "2021-01-01 00:00:01"
ORDER BY events.time DESC
Top 1不工作在mysql和限制1没有得到我的结果。
我需要获取每个sensor_id的最新时间值,而不仅仅是整个表的最新值。
可以使用order by
和limit
。让我假设你是指今天当天或之前的:
select e.*
from events e
where e.timestamp <= now()
order by e.timestamp desc
limit 1;
如果你还想要未来的日期,这可以调整。