SQLite: группировка результатов по дате и средней - PullRequest
0 голосов
/ 08 марта 2012

У меня есть следующие столбцы:

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

столбец startTime является меткой времени эпохи Unix, а столбец elapsedTime указывается в секундах.

Я искал запрос, который мог бы

1) сгруппируйте столбец startTime в группы по 24 часа (3600 секунд).Этот столбец уже представлен в виде секунд
2) для каждой из 24-часовых групп, сгруппируйте шаги по имени
3) для каждой из групп имен, вычислите среднее значение elapsedTime для каждого имени в этой группе

Пример результата:

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 ]

1 голос
/ 09 марта 2012

Если я правильно понимаю ваш вопрос, что-то вроде этого может дать вам результаты, после которых вы:

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
0 голосов
/ 08 марта 2012

ВЫБРАТЬ дату (startTime, 'unixepoch'), avg (elapsedTime), имя FROM tableName Group на 1, 3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...