簡體   English   中英

sql查詢和php腳本顯示每日平均問題

[英]sql query and php script to show average questions per day

在我的問題表中,每個帖子都帶有時間戳(MM-DD-YYYY)。 每個單獨的帖子都有一個QuestionID,而回復則同時具有QuestionID和ResponseID。 我想運行一個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進行2次查詢並在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

再三考慮:這很愚蠢。 如果您想知道自給定日期以來每天的平均問題數,則不妨計算一下問題數(簡單),然后除以此后經過的天數。 此外,如果在幾天中沒有人問過問題,上述查詢將給出錯誤的結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM