Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Wordpress-每天获取帖子和评论的数量_Php_Mysql_Wordpress_Join - Fatal编程技术网

Php Wordpress-每天获取帖子和评论的数量

Php Wordpress-每天获取帖子和评论的数量,php,mysql,wordpress,join,Php,Mysql,Wordpress,Join,我需要衡量Wordpress博客中有多少活动。比如说,有一天有3篇帖子和10条评论,一篇帖子的分数是10分,一条评论的分数只有1分,然后说这一天总共有40分。但是,可能有几天没有发布活动或没有评论活动 我的第一个想法是从posts到comments表的一个简单的左连接。但是,这将排除没有帖子的日子。我不是MySQL大师,但我一直在研究,似乎解决这一问题的最佳方法是使用完全外部连接(),但MySQL不支持这一点 然后,事实上有,但对我来说不起作用。似乎右侧外部联接没有返回我需要的内容。 这是左边的

我需要衡量Wordpress博客中有多少活动。比如说,有一天有3篇帖子和10条评论,一篇帖子的分数是10分,一条评论的分数只有1分,然后说这一天总共有40分。但是,可能有几天没有发布活动或没有评论活动

我的第一个想法是从posts到comments表的一个简单的
左连接。但是,这将排除没有帖子的日子。我不是MySQL大师,但我一直在研究,似乎解决这一问题的最佳方法是使用
完全外部连接
(),但MySQL不支持这一点

然后,事实上有,但对我来说不起作用。似乎
右侧外部联接
没有返回我需要的内容。
这是左边的
一个,它工作得很好

SELECT
    DISTINCT DATE(post_date) AS day,
    COUNT(ID) AS post_total,
    COUNT(comment_ID) as comment_total,
    (COUNT(ID)*10 + COUNT(comment_ID)*1) AS total
FROM wp_posts
    LEFT OUTER JOIN wp_comments ON
        DATE(post_date) = DATE(comment_date)
GROUP BY day ORDER BY total DESC
但是
正确的
有问题

SELECT
    DISTINCT DATE(post_date) AS day,
    COUNT(ID) AS post_total,
    COUNT(comment_ID) as comment_total,
    (COUNT(ID)*10 + COUNT(comment_ID)*1) AS total
FROM wp_posts
    RIGHT OUTER JOIN wp_comments ON
        DATE(post_date) = DATE(comment_date)
GROUP BY day ORDER BY total DESC
因此,
联合
解决方案是无用的

我做错了什么?有没有更简单的方法

谢谢


注意:您必须在不同的日期添加一些帖子和评论。

我认为这不是您可以编写的最好的查询,但似乎很有效

CREATE VIEW commentsCount (date, counter) AS
SELECT
    DISTINCT DATE(comment_date) AS date,
    IFNULL(COUNT(comment_ID),0) AS total
FROM wp_comments
GROUP BY date ORDER BY total DESC



除非你抄写的时候打错了,否则你的右连接的问题是它是左连接…是的,它是打错了。我很抱歉。
CREATE VIEW postsCount (date, counter) AS
SELECT
    DISTINCT DATE(post_date) AS date,
    IFNULL(COUNT(ID),0) AS total
FROM wp_posts
GROUP BY date ORDER BY total DESC
SELECT
    postsCount.date,
    IFNULL(postsCount.counter,0),
    IFNULL(commentsCount.counter,0),
    (IFNULL(postsCount.counter,0)*10 + IFNULL(commentsCount.counter, 0))
FROM commentsCount RIGHT JOIN postsCount 
    ON DATE(postsCount.date) = DATE(commentsCount.date)
GROUP BY postsCount.date
union
SELECT
    commentsCount.date,
    IFNULL(postsCount.counter,0),
    IFNULL(commentsCount.counter,0),
    (IFNULL(postsCount.counter,0)*10 + IFNULL(commentsCount.counter, 0))
FROM commentsCount LEFT JOIN postsCount 
    ON DATE(postsCount.date) = DATE(commentsCount.date)
GROUP BY commentsCount.date