「MySQLの日付比較フィルタ」と題して、この件に関するStackOverflowに関する以前の質問がありました(このリンクを挿入することはできません)。 1。MySQLの日付/著者の比較
私はワードプレスのブログにいくつかの作者がいます。私はMySQLを通して生産性を得たいと思っています。次のクエリは、特定の時間帯のみ1日中、著者のポストを得るための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スキーマにあると思います。 ;上記のいずれかを実行する前に私は私の答えを編集します。 –
Tom Mac、あなたのコードをテストしました。私のWordPressデータベースの名前でWordPressを使用しました(WordPressのブログで使用しているもの、o fコース)、あなたのコードを使用しようとした後( "WHERE p_posts.post_type = 'post'"は "WHERE wp_posts.post_type = 'post'"と読みます)、私はいくつかの結果を得ました。 実際、テーブルには私の著者と3つの列が表示されていますが、投稿件数は本当に高く、Auth1が94件の記事を公開し、Auth50が145件を公開していることは不可能です。 – javipas