提取特定行 - SelectCommand

时间:2012-06-11 08:25:01

标签: asp.net visual-studio-2010 sql-server-2008-r2

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

有没有一种方法可以使用某些东西在每四分之一后只召回一行。


实施例

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

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

仅在数据中显示21和30。

3 个答案:

答案 0 :(得分:1)

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

select top (1) from your table order by DateTimeField Desc

答案 1 :(得分:0)

没有那么多信息,需要更多的确切解决方案。

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

timestamp = select max(timestamp) from (the_5_recs_for_the_given_intervall)

希望你明白我想说的话!

答案 2 :(得分: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