我有以下专栏:
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>
希望这是有道理的
答案 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