2012-03-08 16 views
-2

によってグループ化の結果、私は次の列がありますのSQLite:日付と平均

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

のstartTime列は、UNIXエポックタイムスタンプで、経過時間の欄には、秒単位です。

私は24時間(3600秒)のグループに分けたstartTime列のクエリができ

1)グループを探していました。その列がすでに24時間グループの各秒
2)として表される、グループ名のグループの各々のための名前
3によってステップ)、そのグループ

例では、各名前の平均経過時間を計算します結果:

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時間で86,400秒になります。 – kevev22

答えて

0

SELECT日付(のstartTime、 'unixepoch')、平均(経過時間)1によってtableNameのグループから、名前、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