2014-03-19 64 views
0

我希望這些月份和年份之間的這兩個月份年份之間的所有計數總和都是2個單獨的字段。mysql按月份和年份作爲單獨的字段進行搜索

我該怎麼做?感謝幫助。

SELECT * 
FROM foo 
JOIN 
SELECT (SUM(`full_lead_count`)) AS `domainFullLeadCount` 
FROM `abc`.`reports` 
WHERE ((`month` >= 10) 
     AND (`year` >= 2013)) 
    AND ((`month` <= 3) 
     AND (`year` <= 2014)) LIMIT 1 bar ON val1 = val2 
WHERE id = 123; 
+0

我希望在這些月份和年份之間的這兩個月份之間的所有計數總和是2個獨立的字段。感謝幫助。 – user3153222

+2

在問題中放置問題信息,而不是評論。你可以編輯你的問題。 – Utkanos

回答

0

這些前提肯定不理想。如果可以更改數據庫佈局,那麼您應該考慮使用來自MySQL的真實date datatypes。否則,您可以使用STR_TO_DATE將您的兩個字段轉換爲單個DATETIME,然後可以更輕鬆地處理。

0

這個作爲一個評論,而不是一個有用的答案...

未經測試,非常不完整:

的問題是,如果有一年的範圍內,例如2012至14年那麼並不是所有的行都會在給定的例子中被選中。

類似下面所需的日期範圍將正確地選擇所有行:

SELECT (SUM(`full_lead_count`)) AS `domainFullLeadCount` 
FROM `abc`.`reports` 
WHERE ((`year` * 100 + `month`) >= 201310) 
    and ((`year` * 100 + `month`) <= 201403) 

而且,是的,它是不是很好的指標,不能使用等