SQLite:按日期和平均值对结果进行分组

时间:2012-03-08 18:16:25

标签: sql sqlite

我有以下专栏:

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>

希望这是有道理的

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

SELECT date(startTime,'unixepoch'),avg(elapsedTime),name FROM tableName Group by 1,3