2012-04-02 28 views
2

我有一個巨大的困境。我需要從訂閱表中選擇記錄,其中狀態1訂閱且訂閱0。在一個月內和24小時內選擇用戶狀態MySQL

此選擇必須爲當前月份,但我需要選擇在24小時內取消訂閱的用戶數。

這是我的選擇月份的統計

SELECT COUNT(User.id) AS `count` 
FROM users AS `User` 
LEFT JOIN log_subscriptions AS LogSubscription 
    ON User.id = LogSubscription.user_id 
WHERE 
    ((LogSubscription.status = 1) 
    OR (LogSubscription.status = 0) 
    AND LogSubscription.created BETWEEN '2012-03-01 00:00:01' AND '2012-03-31 23:59:59') 
GROUP BY User.gsm_code, User.site_id, User.keyword_id 
HAVING `count` >= 2 

我怎麼會得到一個在24小時內使用類似此查詢的東西在錯誤的軌道完全

上訂閱和退訂還是我的人
+0

你能告訴我們你的餐桌是怎麼樣的嗎? – TJHeuvel 2012-04-02 09:07:02

+0

我不能,我希望我可以,它對我的​​公司政策。我可以因此被解僱。但我被允許顯示查詢。 – Ryan 2012-04-02 09:13:23

+0

@Ryan:你的'log_subscriptions'表是否記錄了用戶取消訂閱的日期? – 2012-04-02 09:45:25

回答

3

您可以使用DATE_SUBINTERVAL設置爲24 HOUR

WHERE  
    ((LogSubscription.status = 1)  
    OR (LogSubscription.status = 0)  
    AND LogSubscription.created BETWEEN DATE_SUB(NOW(), INTERVAL 24 HOUR) AND NOW() 

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-sub

+0

這是有幫助的,但它給了我結果供人們在_last_ 24小時內訂閱和取消訂閱。我需要在__inin_ 24小時取消訂閱__tire_月的用戶數。我不知道這是否有意義 – Ryan 2012-04-02 11:13:30

+0

它有點合理,但我現在通勤,只能編輯我的答案後,對不起: – 2012-04-02 11:20:01

相關問題