首页 > 解决方案 > SQL 服务器:存储过程

问题描述

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

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

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

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

提前谢谢了!!!

标签: phpmysqlsqlphpmyadminmamp

解决方案


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

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;

推荐阅读