我从sql查询获取每分钟数据?我在数据库中有数小时的数据我想要每15分钟而不是每分钟获取数据

时间:2016-06-30 10:26:03

标签: mysql

我正在使用查询

SELECT GridPow
     , DATE_FORMAT(Time,'%H')
     , DATE_FORMAT(Time,'%i')
     , INVId 
  from KStar_Data 
 where Date=? 
   and SiteId=? 
   and INVId=? 
 order 
    by HOUR(Time)
     , MINUTE(Time);

如何仅为每个15分钟的数据获取数据。

1 个答案:

答案 0 :(得分:0)

首先,您必须定义每15分钟要分组的数据。

您可以这样说:

    SELECT 
somefield, 
SUM(myfield) 
from mytable 
where some=thing 
    GROUP BY HOUR(Time), 
FLOOR(ROUND(MINUTE(Time)/15.5,1));

这样你可以根据分钟得到四组:

0: 0-14 min
1: 15-30 min 
2: 31-45 min 
3: 46-59 min

当你得到两组15分钟,16分钟和14分钟中的一组时,这并没有完全准确,但它可以做到这一点。或者,如果每组需要15分钟,你可以使用15.5值来获得更准确的公式。