【发布时间】:2016-02-29 13:00:14
【问题描述】:
我有一个小难题:)
我有一个包含 2 个表的数据库:survey_reply 和 questions, 像这样:
表 SURVEY_REPLY 编号 |问题ID |数据时间 |用户 ID |用户回复和其他人... -------------------------------------------------- ------ 522| 2 | 2016-02-29 10:07:10 |杰基 . | 3 | 2016-02-29 10:07:22 |杰基 . | 1 | 2016-02-29 10:07:59 |杰基 .. | 4 | 2016-02-29 10:08:40 |杰基 ...| 2 | 2016-02-29 11:21:10 |保罗 . | 3 | 2016-02-29 11:21:32 |保罗 . | 2 | 2016-02-29 11:21:35 |路易丝 . | 1 | 2016-02-29 11:21:50 |保罗 .. | 4 | 2016-02-29 11:22:30 |保罗 .. | 3 | 2016-02-29 11:23:01 |路易丝问题按照下表中的顺序显示给用户:
表问题 编号 | q_ord |调查ID |其他栏目...... ------------------------------------------ 1 | 3 | 786 2 | 1 | 786 3 | 2 | 786 4 | 4 | 786我会知道平均回复时间,即人们做出选择和回答问题所花费的时间。
本例中的计算
第 4-3 次。 (最后一个减去前一个)
用于回复 question.id=4 (question.q_ord=4)
jacky spent 41 sec (10:08:40-10:07:59)
paul 80 sec (11:22:30-11:21:50)
louise doesnt reply
第 3-2 次。 (第三个减去第二个)
对于 question.id=1 (question.q_ord=3)
jacky spent 37 sec (10:07:59-10:07:22)
paul 18 sec (11:21:50-11:21:32)
louise doesnt reply
第二至第一。 对于 question.id=3 (question.q_ord=2)
jacky spent 12 sec (10:07:22-10:07:10)
paul 22 sec (11:21:32-11:21:10)
louise 86 sec (11:23:01-11:21:35)
我不需要计算开始 question.id=2 (question.q_ord=1) 的时间
结果应该是:
q_id | q_ord | av_reply_time ------------------------------------------ 3 | 2 | (12+22+86)/3 1 | 3 | (37+18)/2 4 | 4 | (41+80)/2如何解决?
PS q_ord 它是一个连续的整数,没有跳过任何数字。 总是从 1 开始。在这种情况下,我总是知道最大数量(调查中的总问题)只有 4。
【问题讨论】:
-
用户可以跳过问题吗?
-
jacky回答第2题花了多长时间?
-
12 秒:第 2 到第 1。对于 question.id=3 (question.q_ord=2) jacky 花了 12 秒 (10:07:22-10:07:10)
-
对于第一个问题(id 2)我不关心“我不需要计算开始 question.id=2 (question.q_ord=1) 的时间”