Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQLite:按日期和平均值对结果进行分组_Sql_Sqlite - Fatal编程技术网

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秒。