SQL 服务器:存储过程

SQL server : stored procedure

我有一个包含 6 列的 table(id、deviceID、athleteName、fieldName、valueTx、dateTime)。

到目前为止,当我调用函数 getSensors 时,它会显示所有行。

但是我想在 table 的每次更新时仅显示最新行,具体取决于 dateTime 和 deviceID 列。

我从未使用过存储过程,所以我想知道这样做是否最好?如果不是,你建议我做什么?

非常感谢!!!

您不需要为此使用存储过程。一个简单的查询:

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;