我每 2 小时有 5 行数据从 GSM 调制解调器进入我的数据库,我只需要最后(最新)行数据,因为这是唯一相关的数据,但需要图表的所有数据......
有没有一种方法可以在每四分之一之后只召回一行。
例子。
23、25、20、99、21 下午 1 点
下午 3 点 34、56、55、65、30
数据中仅显示 21 和 30。
我每 2 小时有 5 行数据从 GSM 调制解调器进入我的数据库,我只需要最后(最新)行数据,因为这是唯一相关的数据,但需要图表的所有数据......
有没有一种方法可以在每四分之一之后只召回一行。
例子。
23、25、20、99、21 下午 1 点
下午 3 点 34、56、55、65、30
数据中仅显示 21 和 30。
使用以下 SQL 语句获取所需数据:
select top (1) from your table order by DateTimeField Desc
这不是很多信息,需要更多的确切解决方案。
但是如果记录的时间戳不同,并且您已经可以选择 5 表示下午 1 点和下午 3 点,那么您可以在 where 子句中尝试类似的操作:
timestamp = select max(timestamp) from (the_5_recs_for_the_given_intervall)
希望你明白我想说什么!
使用 CTE:
WITH NumberedRows AS
(
SELECT Serial, DeviceLevel, ROW_NUMBER() OVER (ORDER BY DateReceived DESC) AS RowNumber
FROM TBLReadings
)
SELECT *
FROM NumberedRows
WHERE RowNumber % 5 = 0