有關此主題的StackOverflow的前一個問題(可以插入鏈接,目前我沒有權限),標題爲「MySQL日期比較過濾器」,這是作爲一。MySQL日期/作者比較
我在我的WordPress博客上有一些作者,我想通過MySQL獲得他們的生產力。接下來的查詢工作得很好,在MySQL下在一定的時間範圍內只有一天獲得一個作者的帖子:
SELECT SQL_CALC_FOUND_ROWS wp_posts.*
FROM wp_posts
JOIN wp_postmeta
ON (wp_posts.ID = wp_postmeta.post_id)
WHERE wp_posts.post_type = 'post'
AND post_author = '50'
AND post_date
BETWEEN STR_TO_DATE('2011-10-27 14:19:17','%Y-%m-%d %H:%i:%s')
AND STR_TO_DATE('2011-10-27 14:51:17','%Y-%m-%d %H:%i:%s')
GROUP BY wp_posts.ID
ORDER BY wp_posts.post_date DESC
LIMIT 0, 100
但它給我的那一天正好職位,小時範圍內。我想得到一張桌子,每天和每位作者的日常數據都已填滿。在每一天和每位作者中,應該有該作者在該日和該小時範圍內發佈的帖子數量。
輸出應該是這樣的:
October Auth1 Auth2 Auth3
1 0 0 0
2 0 0 0
3 0 1 0
4 0 2 0
5 1 0 0
6 0 2 0
7 0 0 0
8 3 0 0
9 0 0 0
10 5 1 0
11 1 0 0
...
31 2 1 1
所以日期應該是一個變量,但我想,包括所有的作者,所以我刪除post_author和線路。
我不是MySQL的專家,但我想知道這是否可以輕鬆完成,並將查詢結果(或者更準確地說是查詢結果的某些字段)作爲表格導出,如所示。
哇,這看起來很有希望Tom Mac,感謝您付出的巨大努力。我很害怕我不是MySQL的專家所以...我如何運行這個?一旦我在mysql提示符下,我只是複製並粘貼這些代碼片段? 對不起:( – javipas
)如果你在提示時是的,你應該可以將它們作爲代碼片段運行,在運行它們之前,你需要選擇一個模式來運行它們,我猜wp_posts和wp_postmeta是在WordPress模式中,所以運行'use WordPress ;'在運行上面的任何一個之前,我會編輯我的答案以向你展示我的意思 –
Tom Mac,我測試了你的代碼,它似乎工作......或多或少。我的WordPress數據庫(我在WordPress博客o中使用的數據庫)的名稱改變了'使用WordPress'所以在嘗試使用你的代碼(「WHERE p_posts.post_type ='post'」應該是「WHERE wp_posts.post_type ='post'」)我得到了一些結果,但不是預期的。 事實上,表格顯示了我與作者的三個colums,但是帖子數量非常高,有一天Auth1發佈了94篇文章,Auth50發佈了145篇是不可能的。 – javipas