2011-11-16 121 views
0

我有構建MySQL查詢問題:從日期時間視場中的年份和月份條目

我有這個表「tSubscribers」是我保存用戶對我的通訊郵件列表。

表看起來像這樣(簡化):

-- 
-- Table structure for tSubscriber 
-- 
CREATE TABLE tSubscriber (
    fId INT UNSIGNED NOT NULL AUTO_INCREMENT, 
    fSubscriberGroupId INT UNSIGNED NOT NULL, 
    fEmail VARCHAR(255) NOT NULL DEFAULT '', 
    fDateConfirmed DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', 
    fDateUnsubscribed TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00', 
    PRIMARY KEY (fId), 
    INDEX (fSubscriberGroupId), 
) ENGINE=MyISAM; 

現在我要完成的任務是有一個顯示爲每月每用戶組的訂閱和取消訂閱的示意圖。

因此,我需要從fDateConfirmed,fDateUnsubscribed日期中提取年份和月份,對它們進行計數並顯示用戶組按月份和年份排序的計數。

我認爲這個SQL查詢變得相當複雜,我只是無法得到我的頭。這甚至可以用一個查詢。

回答

0

您將需要兩個單獨的查詢,一個用於訂閱,另一個用於取消訂閱。

SELECT COUNT(*), YEAR(fDateConfirmed), MONTH(fDateConfirmed) FROM tSubscriber GROUP BY YEAR(fDateConfirmed), MONTH(fDateConfirmed) 
SELECT COUNT(*), YEAR(fDateUnsubscribed), MONTH(fDateUnsubscribe) FROM tSubscriber GROUP BY YEAR(fDateUnsubscribed), MONTH(fDateUnsubscribed) 
+0

非常感謝 – user1036651

相關問題