2012-03-08 24 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