У меня есть таблица user_questions (UserQuestion model) и таблица user_answers (модель UserAnswer), и у них есть данные в этом формате.Rails 3.1 Соотношение среднее
user_questions table:
+------+-----------------------------------------------------+---------------------+
| id | question | created_at |
+------+-----------------------------------------------------+---------------------+
| 1 | Is question asker is a fool? | 2011-03-12 03:23:44 |
| 2 | have we got an answer yet? | 2011-03-12 03:24:06 |
+------+-----------------------------------------------------+---------------------+
user_answers table:
+------+-------+------------------+---------------------+
| id | value | user_question_id | created_at |
+------+-------+------------------+---------------------+
| 1 | Yes he is! | 1 | 2011-03-12 04:23:44 |
| 2 | OC he is! | 1 | 2011-03-12 05:23:44 |
| 3 | yup he is! | 1 | 2011-03-12 05:23:44 |
+------+-------+------------------+---------------------+
Теперь мне нужно найти средний возраст вопросов т.е. avg(user_question.created_at - min(user_answers.created_at))
С учетом указанных выше данных: С user_question (1) получил свой первый ответ ровно 1 час, так что его возраст составляет: 1 час
так как user_question (2) еще не получил ответа, его возраст (DateTime.now - user_question.created_at (скажем, его 1000 часов)).
result_output = (1 + 1000)/2
Я довольно хорошо знаком с тузда суммой, срд, мин, не более операциями. Но, к сожалению, очень сложно здесь, чтобы получить окончательное решение с помощью рельсов.
так, в чем вопрос? – rb512