2012-10-16 9 views
0

我有一個MySQL表tbl_track有不少記載取從啓動MySQL數據直至當月

User_id | User_country | Datecreated (timestamp) 
1  |3    | 2012-09-09 09:37:03 
2  |7    | 2012-10-09 16:22:36 

現在我想在這樣的方式的結果(從起始月至當月)

September | September & October 
1 record | 2 records 

我試試這個,但結果是相反的,從當前月份到月份開始即(十月,十月+九月,十月+九月+八月)。此外,我寫了單獨的查詢每個

我的查詢爲當前月份是

SELECT * FROM tbl_track 
    WHERE YEAR(`date_created`) = YEAR(CURRENT_DATE) 
    AND MONTH(`date_created`) = MONTH(CURRENT_DATE) 

我查詢了當前&上月被

SELECT * as count FROM tbl_track 
WHERE YEAR(`date_created`) = YEAR(CURRENT_DATE - INTERVAL 1 MONTH) 
AND MONTH(`date_created`) = MONTH(CURRENT_DATE - INTERVAL 1 MONTH) 

回答

0

您的當前和前一個月的查詢只是提取記錄對於上個月

SELECT * as count FROM tbl_track 
WHERE YEAR(`date_created`) = YEAR(CURRENT_DATE - INTERVAL 1 MONTH) 
AND MONTH(`date_created`) = MONTH(CURRENT_DATE - INTERVAL 1 MONTH) 

我想y ou應該將其更改爲

SELECT count(*) as countofrec FROM tbl_track 
WHERE YEAR(`date_created`) = YEAR(CURRENT_DATE - INTERVAL 1 MONTH) 
AND (MONTH(`date_created`) = MONTH(CURRENT_DATE - INTERVAL 1 MONTH) 
     OR 
     MONTH(`date_created`) = MONTH(CURRENT_DATE)) 
+0

你好,但你能回答關於我的問題。 – Arif

1

據我所知在查詢中沒有簡單的方法來執行此操作。但是,你可以使用這樣的事情:

SELECT COUNT(1), MONTH(date_created) AS mm, YEAR(date_created) AS yy 
FROM tbl_track 
GROUP BY mm, yy 

這使你的每月記錄數的列表。基於你的phpmyadmin標籤,我假設你將使用PHP腳本中的結果集,所以也許你可以在該腳本中對前幾個月的數額進行累加計算?

+0

非常感謝,您的查詢也是有益的:) – Arif

相關問題