SQLite:按日期和平均值对结果进行分组
我有以下专栏:SQLite:按日期和平均值对结果进行分组,sql,sqlite,Sql,Sqlite,我有以下专栏: startTime (int), elapsedTime (int), name (string) startTime列是unix历元时间戳,elapsedTime列以秒为单位 我在寻找一个可以 1) 将startTime列分组为24小时(3600秒)的组。该列已表示为秒 2) 对于每个24小时组,按名称对步骤进行分组 3) 对于每个名称组,计算该组中每个名称的平均耗时 示例结果: startTime, name, avgElapsedTime<br> 102324
startTime (int), elapsedTime (int), name (string)
startTime列是unix历元时间戳,elapsedTime列以秒为单位
我在寻找一个可以
1) 将startTime列分组为24小时(3600秒)的组。该列已表示为秒2) 对于每个24小时组,按名称对步骤进行分组
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>
startTime、name、avgElapsedTime
102324433,程序1,2994.4
102324433,程序2,232.3
102324433,程序3,234.1
146325433,程序1499.1
146325433,程序25599.1
146325433,程序6155.1
希望这是有意义的选择日期(开始时间,'unixepoch')、平均值(elapsedTime)、tableName Group中的名称1、3如果我正确理解您的问题,类似这样的内容可能会给您带来您想要的结果:
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
请注意,24小时内实际上有86400秒。