我試圖計算日期範圍的平均值之間的百分比變化的平均值百分比變化,網站的100名旅客中有日期範圍A和200個訪問者在日期範圍B內,增加了100%。MySQL的:相對於日期範圍B.</p> <p>例如,當計算從兩個範圍
這些值存儲在一個表中。
編輯:訪問值存儲在一個表中,URL存儲在第二個表中,其中包含URL和一個用於連接兩個表的ID。
,因爲它代表我的查詢是:
SELECT urls.url, DATE_FORMAT(test.timestamp, '%Y %m %d') AS timestamp,
(SELECT test.visits
FROM test, urls
WHERE test.url_id = urls.id
AND urls.url LIKE '%website%'
AND test.location LIKE '%gb%'
AND test.timestamp >='$startdate'
AND test.timestamp <= '$enddate'
) AS visitors1,
(SELECT test.visits
FROM test, urls
WHERE test.url_id = urls.id
AND urls.url LIKE '%website%'
AND test.location LIKE '%gb%'
AND test.timestamp >= DATE_SUB('$startdate', INTERVAL
DATEDIFF('$enddate','$startdate') DAY)
AND test.timestamp <= DATE_SUB('$enddate', INTERVAL
DATEDIFF('$enddate','$startdate') DAY)
) AS visitors2
FROM test, urls
WHERE test.url_id = urls.id
AND urls.url LIKE '%website%'
AND test.location LIKE '%gb%'
編輯:在例如查詢更正錯誤
我明白,我需要添加類似:
(visitors1 - visitors2)/visitors2 *100
我只是不知道在哪裏
編輯:我正在建設一個儀表板,所需的輸出是
URL |訪問範圍1 |訪問範圍2 |百分比變化
example.com | 100 | 200 | 100%
對原始發佈中的錯誤表示歉意。
你可以在mysql中這樣做,但查詢將是相當不可讀的。你可以直接寫查詢(像你一樣)來返回期間A和B的訪問次數,然後從mysql返回後對結果執行(A-B)/ B * 100? – Agrajag 2012-03-15 13:55:08