0

我每 2 小时有 5 行数据从 GSM 调制解调器进入我的数据库,我只需要最后(最新)行数据,因为这是唯一相关的数据,但需要图表的所有数据......

有没有一种方法可以在每四分之一之后只召回一行。


例子。

23、25、20、99、21 下午 1 点

下午 3 点 34、56、55、65、30

数据中仅显示 21 和 30。

4

3 回答 3

1

使用以下 SQL 语句获取所需数据:

select top (1) from your table order by DateTimeField Desc
于 2012-06-11T08:35:24.847 回答
0

这不是很多信息,需要更多的确切解决方案。

但是如果记录的时间戳不同,并且您已经可以选择 5 表示下午 1 点和下午 3 点,那么您可以在 where 子句中尝试类似的操作:

timestamp = select max(timestamp) from (the_5_recs_for_the_given_intervall)

希望你明白我想说什么!

于 2012-06-11T08:33:49.870 回答
0

使用 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
于 2012-06-11T08:49:23.840 回答