2014-03-13 151 views
-1

我有一個文章數據庫,並且想要創建一個歸檔nav。我想查詢數據庫中的個人月/年,以及每年發現多少個月。例如:MySQL查詢返回每年的年份,月份和總行數

2013 | November | 3 
2013 | October | 3 
2013 | September| 3 
2012 | February | 2 
2012 | January | 2 
2011 | January | 1 
2010 | February | 2 
2010 | January | 2 
2009 | April | 4 
2009 | March | 4 
2009 | February | 4 
2009 | January | 4 

我該如何去做這件事?

+1

你需要向我們展示了架構或至少是你已經嘗試過了。 –

+0

GROUP BY結合YEAR,MONTH和MONTHNAME函數應該可以做到。 –

回答

0

您需要一張表來索引。我建議採用以下算法:

  1. 創建一個臨時表,其中包含一列中的所有月份以及另一列中的搜索年份。如果這是您將用於其他應用程序的東西,您可以在這兩列上創建索引以提高效率。您還可以查詢您的記錄以找出您需要搜索的年份(創建一組可用年數,除非您計劃添加記錄以外的記錄)。
  2. 對於您在步驟1中創建的表中的每個ij對,請計算您的articles表中與ij的月份和年份條件相匹配的記錄數。

祝你好運!

0

你可以嘗試使用這樣的:通過一年組,月+計數月

例如

SELECT *,count(MONTH(date_field)) as totalCount FROM table GROUP BY YEAR(date_field),MONTH(date_field)