В моей базе данных есть следующие атрибуты.
идентификатор статистики, имя устройства, значение, метка времени.
Для данной статистики я хочу найти 2 самые последние отметки времени и соответствующие значения для каждого уникального устройства.
Я пытаюсь что-то вроде
Пробная версия 1)
select statistic, devicename, value, timestamp
from X_STATSVALUE
where statistic=19
order by orgtime DESC limit 2;
Это дает мне две верхние метки времени, но не для каждого устройства.
Пробная версия 2)
select statistic, devicename, value, timestamp
from X_STATSVALUE as x
where x.statistic=241
and (select count(*)
from X_STATSVALUE as y
where y.statistic=x.statistic
and y.device=x.device
and y.timestamp > x.timestamp) <=1;
Но это тоже не слишком хорошо работает.
В принципе, я хочу получить 2 самые последние отметки времени со значениями для каждого устройства для заданной статистики. Любая помощь действительно приветствуется:)