1

我的用户回答了两个不同的问题,它们分别作为一行添加到我的 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
4

1 回答 1

1

我提出的解决方案是存储一个会话 ID 或一些自动生成的密钥,以唯一地识别来自一个人的 2、3 个或更多答案的“会话”。

查询将只是

SELECT COUNT(DISTINCT session_id) totNum
FROM login_answers

使用没有可识别密钥的当前架构,如果可能的话,很难正确回答您的问题。

于 2012-10-22T23:43:45.823 回答