以下のクエリを使用して、タイムスタンプ列に基づいて 15 分ごとにレコードをグループ化したいのですが、最初の 2 つのレコードの違いはわずか 10 分です。
レールコード:
select("DATE_FORMAT(reading_on,'%H:%i') as date,
ROUND(UNIX_TIMESTAMP(reading_on)/(900)) as fif ,
max(power) as total").group("fif").where("imei= #{site}" ).order("fif asc")
MYSQL クエリ:
SELECT DATE_FORMAT(reading_on,'%H:%i') as date,
ROUND(UNIX_TIMESTAMP(reading_on)/(900)) as fif ,
max(power) as total FROM `clarodetails`
WHERE (imei= 353469040778516)
AND (date(reading_on) between '2012-11-18 00:00:00'
AND '2012-11-18 23:59:59')
GROUP BY fif
ORDER BY fif asc LIMIT 15
出力: