查询仅每5分钟选择一次时间戳

时间:2017-03-30 20:31:18

标签: mysql

我想知道是否有可能检索所有数据的查询,例如,Timestamp是5分钟的倍数。 (00h00,00h05,00h10等......)

这是我的疑问:

DECLARE @InputString VARCHAR(MAX) = 'Aaa - aaa';
DECLARE @Index INT = CharIndex('-', @InputString);
DECLARE @StringToReplace VARCHAR(3) = SUBSTRING ( @InputString ,@Index , 3 );

SELECT REPLACE(@InputString,@StringToReplace,UPPER(@StringToReplace)); 

这是因为系统每3秒(在某些情况下)或每7.5秒,15秒,30秒或1分钟(在其他情况下)检索值。这取决于客户设置。但是,我们做了一个包含太多数据的图表,我希望每X分钟只有数据(1,5,10等等......分钟)

如果可能的话,我无法弄清楚如何做到这一点。

1 个答案:

答案 0 :(得分:0)

无需转换为分钟,只需获取时间戳列的minute部分:

SELECT io.Timestamp, io.Name AS ioName, io.ReadingValue
FROM io_data io
WHERE io.Actif = 1 
  AND io.ID_IO_Type = 3
AND minute(io.TimeStamp) % 5 = 0
ORDER BY io.Name, io.ID_IO_Type, io.Timestamp ASC