2012-01-12 64 views
0

我使用php和mysql製作了一個事件系統,我在數據庫中添加了以下字段的事件:id,title,content,date(timestamp:YYYY-MM-DD 00 :00:00)按月份和年份排列的PHP/MYSQL列表

我想通過年/月MySQL的記錄結果

分類和計數

例子:

2012年1月:3分的結果

  • 事件1 TITLE1內容1 DATE1
  • 事件2 TITLE2內容2 DATE2
  • 事件2 TITLE2內容2 DATE2

2011年12月:2個結果

  • 事件1 TITLE1內容1 DATE1
  • 事件2 TITLE2內容2 DATE2

...

我嘗試不同的方式使用group by但沒有結果 我很感激你的時間,我等待反饋。提前致謝。

我想這個代碼

SELECT id, title, content, date, EXTRACT(YEAR 
FROM date) ANNEE, EXTRACT( 
MONTH FROM date) MOIS, COUNT(*) AS mySum 
FROM plaquerecherchee 
GROUP BY ANNEE, MOIS 
ORDER BY ANNEE, MOIS 

,但我一個月只有一個結果......

+0

您使用'ORDER BY'或'GROUP BY'-請添加當前正在查詢您正在嘗試您的問題 – 2012-01-12 13:19:11

+0

代碼中添加的問題謝謝 – Alm73 2012-01-12 13:42:15

回答

1

試試這個

select Event1, title1, content1, MONTH(date),count(1) from yourtable 
group by Event1, title1, content1, MONTH(date) 
+0

我試過了e代碼,請參閱添加在我的問題中,但我只獲得一個結果。我想列出所有條目2012 1月:3分的結果 事件1 TITLE1內容1日期1 事件2標題2內容2 date2的 事件2標題2內容2 date2的 2011年12月:2個結果 事件1 TITLE1內容1日期1 事件2標題2內容2日期2 – Alm73 2012-01-12 13:43:14

+0

是你確定你有所有的數據?其次,如果您需要準確的輸出,則需要採取一些不同的方法來解決問題。像CASE WHEN ...然後選擇'...'。 – 2012-01-12 13:58:14

+0

用我的代碼,我獲得每個月的最後一個時間戳的條目。 例 日期,ANNEE,MOIS,mySum 2011-10-29 18:00:00,2011,10,208 2011-11-30 23:00:00,2011,11,180 我想有208列出十月的參賽作品和十一月的180參賽作品。 有沒有辦法做到這一點? – Alm73 2012-01-12 14:04:02

0
SELECT id,title,content,date,count(*) as mySum from TABLENAME 
GROUP BY date.MONTH, date.YEAR 
ORDER BY date.YEAR,date.MONTH