MySQL选择不同的日期时间。我搞不懂这个问题

MySQL选择不同的日期时间。我搞不懂这个问题,mysql,distinct,Mysql,Distinct,我的用户回答两个不同的问题,每个问题作为一行添加到我的答案表中。我试图统计有多少用户回答了我的问题,这一点一开始看起来很简单。计数(*)并除以2。对但是:用户可以在进行过程中添加新问题,因此可能会突然出现三个问题,例如,如果有两个问题出现一段时间,然后出现三个问题,则所有答案/3将成为不正确的用户数 有人能想出这样做的疑问吗?到目前为止,我已经 SELECT COUNT(DISTINCT date) as totNum FROM login_answers 但这并不需要考虑时间。也就是说,我只

我的用户回答两个不同的问题,每个问题作为一行添加到我的答案表中。我试图统计有多少用户回答了我的问题,这一点一开始看起来很简单。计数(*)并除以2。对但是:用户可以在进行过程中添加新问题,因此可能会突然出现三个问题,例如,如果有两个问题出现一段时间,然后出现三个问题,则所有答案/3将成为不正确的用户数

有人能想出这样做的疑问吗?到目前为止,我已经

SELECT COUNT(DISTINCT date) as totNum FROM login_answers
但这并不需要考虑时间。也就是说,我只知道那天的答案总数,不知道那天有多少问题

这是我的桌子:

qid是个问题,所以我想这是个开始

id      qid answer  date                deviceID
1502    2   2       2012-10-19 08:42:41 7
1503    1   3       2012-10-19 08:51:53 7
1504    2   2       2012-10-19 08:51:53 7
1505    1   4       2012-10-19 09:05:23 7
1506    2   2       2012-10-19 09:05:23 7
1507    1   4       2012-10-19 09:40:59 7

我建议的解决方案是根据答案存储一个会话Id或一些自动生成的密钥,以唯一地标识一个人的2个、3个或更多答案的“会话”

问题很简单

SELECT COUNT(DISTINCT session_id) totNum
FROM login_answers

由于您当前的模式没有可识别的密钥,如果可能的话很难正确回答您的问题。

我建议的解决方案是根据答案存储会话Id或一些自动生成的密钥,以唯一地识别一个人的2个、3个或更多答案的“会话”

问题很简单

SELECT COUNT(DISTINCT session_id) totNum
FROM login_answers

由于您当前的模式没有可识别的键,如果可能的话,很难正确回答您的问题。

问题表是什么样子的?您是否记录添加每个问题的日期/时间?您如何决定用户是否应回答新添加的问题?如果他们开始的时候它就在那里?如果在他们发布最后一个答案时它就在那里?问题表是什么样子的?您是否记录添加每个问题的日期/时间?您如何决定用户是否应回答新添加的问题?如果他们开始的时候它就在那里?如果在他们发布最后答案的时候它就在那里?这就是我最后做的!这就是我最后要做的!