2012-03-08 51 views
-2

我有以下的列:SQLite的:按日期分组的结果和平均

startTime (int), elapsedTime (int), name (string) 

于starttime柱是Unix时间戳时间戳和elapsedTime列是秒。

我正在寻找一个查询可能

1)组的开始时间栏到24小时(3600秒)的基团。这列已经被表示为秒
2)对于每个24个小时组,组的名字
3对每个名称组的步骤),计算每个名称的平均elapsedTime该组

实施例中结果:

startTime, name, avgElapsedTime<br> 
102324433, program1, 2994.4<br> 
102324433, program2, 232.3<br> 
102324433, program3, 234.1<br> 
146325433, program1, 499.1<br> 
146325433, program2, 5599.1<br> 
146325433, program6, 155.1<br> 

希望这是有意义

+1

注意,其实有在24小时内86400秒。 – kevev22 2012-03-08 18:22:37

回答

0

SELECT日期(开始时间, 'unixepoch'),AVG(elapsedTime),姓名FROM TABLENAME组由1,3

1

如果我正确理解你的问题,这样的事情可能以后给你结果如下:

SELECT 
    CAST(startTime % 86400/3600 AS INTEGER) AS hour, 
    name, 
    AVG(elapsedTime) AS avgElapsedTime 
FROM atable 
GROUP BY 
    CAST(startTime % 86400/3600 AS INTEGER), 
    name