У меня есть таблица с 6 столбцами (id, deviceID, athleteName, fieldName, valueTx, dateTime).
Пока что, когда я вызываю свою функцию getSensors, она отображает все строки.
Однако я хочу отображать при каждом обновлении таблицы только последнюю строку, в зависимости от столбцов 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;
@LyessDrille. . . Это то, что делает первый запрос.
вы хотите получить обновленную версию или 1. получить идентификатор устройства (из обновления); 2. получить 1 запись с этим идентификатором устройства и самую последнюю? в обоих случаях лучше использовать OUTPUT clausedocs.microsoft.com/en-us/sql/t-sql/queries/…
@GordonLinoff ... Спасибо, это то, что мне нужно
Ой, извините, я не это имел в виду. У меня есть несколько строк deviceID, и у некоторых из них одинаковый deviceID. Я хочу отображать 1 строку для каждого идентификатора устройства, самую последнюю. Достаточно ли для этого запроса?