3

wp_postsを含むテーブルがpost_dateありますauthor_id

(すべての)3つの時間範囲に投稿がある場所author_idを見つける必要があります:wp_posts

wp_posts.post_date BETWEEN '2012-11-05 00:00:00' AND '2012-11-10 23:59:59'
wp_posts.post_date BETWEEN '2012-11-12 00:00:00' AND '2012-11-17 23:59:59'
wp_posts.post_date BETWEEN '2012-11-19 00:00:00' AND '2012-11-25 23:59:59'

シンプルに見えますが、わかりません。すべての日付範囲の間にANDを入れると、常に0が返されます。

何か案は?

4

3 に答える 3

1

ORを入れてみませんか:

(wp_posts.post_date BETWEEN '2012-11-05 00:00:00' AND '2012-11-10 23:59:59') OR 
(wp_posts.post_date BETWEEN '2012-11-12 00:00:00' AND '2012-11-17 23:59:59') OR
(wp_posts.post_date BETWEEN '2012-11-19 00:00:00' AND '2012-11-25 23:59:59')

編集:

SELECT author_id FROM wp_posts
WHERE author_id IN (
    SELECT author_id FROM wp_posts WHERE post_date BETWEEN '2012-11-05 00:00:00' AND '2012-11-10 23:59:59'
) AND author_id IN (
    SELECT author_id FROM wp_posts WHERE post_date BETWEEN '2012-11-12 00:00:00' AND '2012-11-17 23:59:59'
) AND author_id IN (
    SELECT author_id FROM wp_posts WHERE post_date BETWEEN '2012-11-19 00:00:00' AND '2012-11-25 23:59:59'
)

これはあなたが必要なものですか?

于 2012-11-28T14:22:35.413 に答える
0
SELECT author_ID
FROM posts
WHERE   (wp_posts.post_date BETWEEN '2012-11-05 00:00:00' AND '2012-11-10 23:59:59') OR
        (wp_posts.post_date BETWEEN '2012-11-12 00:00:00' AND '2012-11-17 23:59:59') OR
        (wp_posts.post_date BETWEEN '2012-11-19 00:00:00' AND '2012-11-25 23:59:59')
GROUP BY author_ID
HAVING COUNT(*) = 3
于 2012-11-28T14:21:31.683 に答える
0

これを試して ::

(wp_posts.post_date BETWEEN '2012-11-05 00:00:00' AND '2012-11-10 23:59:59') or
(wp_posts.post_date BETWEEN '2012-11-12 00:00:00' AND '2012-11-17 23:59:59') or
(wp_posts.post_date BETWEEN '2012-11-19 00:00:00' AND '2012-11-25 23:59:59')
于 2012-11-28T14:22:10.900 に答える