MySQL选择不同的dateTime。无法想出这个问题

时间:2012-10-22 23:36:19

标签: mysql distinct

我的用户回答了两个不同的问题,它们被添加到我的answers_table中,每行一行。我试图计算有多少用户已经回答了我的问题,这一开始看起来很简单。计数(*)并除以2.是的!但是:用户可以随时添加新问题,所以突然可能有三个问题,如果有一段时间有两个问题,那么所有答案/ 3都会变成不正确的用户数,例如三个问题!

有人可以找出这样做的查询吗?到目前为止我已经

SELECT COUNT(DISTINCT date) as totNum FROM login_answers

但它没有花时间考虑。这意味着我只知道当天的答案总数,而不知道那天有多少问题可供使用。

这是我的表:

qid是QuestionID,所以我猜那是从哪里开始的?

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

1 个答案:

答案 0 :(得分:1)

我建议的解决方案是将会话ID或某些自动生成的密钥存储在答案中,以便唯一标识来自一个人的2个,3个或更多答案的“会话”。

查询只是

SELECT COUNT(DISTINCT session_id) totNum
FROM login_answers

如果您当前的架构没有可识别的密钥,则很难在可能的情况下正确回答您的问题。