sqlserver:存储过程

9vw9lbht  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(391)

我有一个包含6列的表(id、deviceid、athletename、fieldname、valuetx、datetime)。
到目前为止,当我调用函数getsensors时,它显示所有行。
但是,我希望在每次更新表时仅显示最新的行,具体取决于datetime和deviceid列。
我从未使用过存储过程,所以我想知道这样做是否最好?如果没有,你建议我怎么办?
提前多谢!!!

oknrviil

oknrviil1#

不需要存储过程。一个简单的查询:

select t.*
from t
where t.datetime = (select max(t2.datetime) from t t2 where t2.deviceID = t.deviceID);

如果给您一个deviceid,您可以获得最新的记录,如下所示:

select t.*
from t
where t.deviceID = v_deviceID
order by t.datetime desc
limit 1;

相关问题