sql查询和php脚本显示每天的平均问题

sql查询和php脚本显示每天的平均问题,php,mysql,Php,Mysql,在我的问题表中,每篇文章都有时间戳(MM-DD-YYYY)。每个帖子都有一个问号,一个回复既有问号又有回复ID。我想运行一个php脚本,它将捕获所有问题(ResponseID=null的所有帖子),并显示每天有多少个问题 我希望从2010年6月1日起每天都有平均问题 非常感谢你的帮助。谢谢大家! 每天都会收到这些信息,以及问题的数量: select q.myTimestamp, count(*) from questionsTable q where q.myTimeStamp >=

在我的问题表中,每篇文章都有时间戳(MM-DD-YYYY)。每个帖子都有一个问号,一个回复既有问号又有回复ID。我想运行一个php脚本,它将捕获所有问题(ResponseID=null的所有帖子),并显示每天有多少个问题

我希望从2010年6月1日起每天都有平均问题


非常感谢你的帮助。谢谢大家!

每天都会收到这些信息,以及问题的数量:

select q.myTimestamp, count(*) 
from questionsTable q 
where q.myTimeStamp >= '6/1/2010'
and q.ResponseID IS NULL
group by myTimestamp
要获得平均值,您需要计算天数和问题总数。。。我可能会对MySQL进行两次查询,然后用PHP进行计算

$query1 = "select count(*) as totalCount from questionsTable where myTimestamp >= '6/1/2010' and ResponseID IS NULL";
$query2 = "select count(*) as totalDays from (select distinct myTimestamp from questionsTable where myTimestamp >= '6/1/2010' and ResponseID IS NULL) a";

$res1 = mysql_query($query1);
$res2 = mysql_query($query2);

$row1 = mysql_fetch_array($res1);
$row2 = mysql_fetch_array($res2);

$avgPostCount = ($row1['totalCount'] / $row2['totalDays']);
不是最优的,但应该有效


我做了一个假设,你不想计算没有问题的日子。。否则,可以使用mysql函数将其简化为一个查询,以获取自2010年6月1日以来的天数。

这将获取每天的天数以及问题数量:

select q.myTimestamp, count(*) 
from questionsTable q 
where q.myTimeStamp >= '6/1/2010'
and q.ResponseID IS NULL
group by myTimestamp
SELECT
    AVG(NumQuestions)
FROM
    (
        SELECT
            COUNT(*) AS NumQuestions
        FROM
            Questions
        WHERE
            ResponseID IS NULL AND
            Question_Date >= '2010-06-01'
        GROUP BY
            Question_Date
    ) AS MySubquery
要获得平均值,您需要计算天数和问题总数。。。我可能会对MySQL进行两次查询,然后用PHP进行计算

$query1 = "select count(*) as totalCount from questionsTable where myTimestamp >= '6/1/2010' and ResponseID IS NULL";
$query2 = "select count(*) as totalDays from (select distinct myTimestamp from questionsTable where myTimestamp >= '6/1/2010' and ResponseID IS NULL) a";

$res1 = mysql_query($query1);
$res2 = mysql_query($query2);

$row1 = mysql_fetch_array($res1);
$row2 = mysql_fetch_array($res2);

$avgPostCount = ($row1['totalCount'] / $row2['totalDays']);
不是最优的,但应该有效

我做了一个假设,你不想计算没有问题的日子。。否则,可以使用mysql函数将其简化为一个查询,以获取自2010年6月1日以来的天数

SELECT
    AVG(NumQuestions)
FROM
    (
        SELECT
            COUNT(*) AS NumQuestions
        FROM
            Questions
        WHERE
            ResponseID IS NULL AND
            Question_Date >= '2010-06-01'
        GROUP BY
            Question_Date
    ) AS MySubquery
再想一想:这太傻了。如果你想知道从给定的一天起每天的平均问题数量,你可以只计算问题数量(简单),然后除以从那时起经过的天数。此外,如果有几天没有人提问,上述查询会给出不准确的结果


再想一想:这太傻了。如果你想知道从给定的一天起每天的平均问题数量,你可以只计算问题数量(简单),然后除以从那时起经过的天数。此外,如果有几天没有人提问,上述查询会给出不准确的结果。

每天平均提问多少?每个用户?那么您想要当天的所有问题,以及其中有多少百分比的问题的ResponseID=NULL?或者只计算ResponseID为NULL的记录?另外,平均问题范围的时间跨度是多少?一周/月/年?每天平均问多少问题?每个用户?那么您想要当天的所有问题,以及其中有多少百分比的问题的ResponseID=NULL?或者只计算ResponseID为NULL的记录?另外,平均问题范围的时间跨度是多少?一周/月/年?