留点后路
万事不可做太绝

[译]5个有用的Woredpress数据库(MySQL)查询语句

首先声明:对MySQL语句一窍不通者慎用本篇内容,一旦出现数据丢失等无法挽回的结果,本人概不负责。嗯,交代完这句,可以往下看了:可以说99%的Wordpress都是用MySQL驱动的,而且对于Wordpress极其MySQL数据库的安装,相当简单,即便是建站方面初出茅庐的同学,也能自己搞定一切。但Wordpress治下的MySQL,也有不少有趣且有用的查询语句,可以帮你完成一定目的的任务,这里有5个:

1. 月度发表统计:

SELECT CONCAT_WS(', ', MONTHNAME(`post_date`), YEAR(`post_date`)) AS `post_month`, COUNT(*) AS `post_count` FROM `wp_posts` WHERE `post_type` = 'post' AND `post_status` = 'publish' GROUP BY `post_month` ORDER BY `post_date`;

如果是多用户wordpress,那么在where后加入“post_author = ‘username’”字段,将会得到某位用户的月度发表统计。结果如下:

post_month	post_count
August, 2006	2
September, 2006	6
October, 2006	10
November, 2006	19

2. 收集有过评论的访客的邮箱,便于后期联系(仅限用于正经用途):

SELECT `comment_author`, `comment_author_email` FROM `wp_comments` WHERE `comment_approved` = '1' AND `comment_type` = '' GROUP BY `comment_author_email`;

因为句中的comment_approved = 1,所以此语句给出的结果不包含unapproved、spam、pingback三个类型的访客统计。当然,对于这份结果,如果需要,你可以以csv或其他类型的格式导出,用于联系访客等。但别忘了随时更新一下。输出结果就不贴了,自己搞去吧。

3. 月度评论统计:

SELECT CONCAT_WS(', ', MONTHNAME(`comment_date`), YEAR(`comment_date`)) AS `comment_month`, COUNT(*) as `comment_count` FROM wp_comments WHERE `comment_approved` = '1' AND `comment_type` = '' GROUP BY `comment_month` ORDER BY `comment_date`;

这条语句能得出月度的评论统计信息,用途嘛,看你自己怎么分析了。结果如下:

comment_month	comment_count
December, 2009	3
January, 2010	6
February, 2010	11

4. 访客评论的时间段分析:

SELECT HOUR(`comment_date`) AS `comment_hour`, COUNT(*) as `comment_count` FROM wp_comments WHERE `comment_approved` = '1' AND `comment_type` = '' GROUP BY `comment_hour`;

这条语句有点意思,可以统计出所有评论的24小时分布情况,看看到底是下午3点评论最多,还是夜里12点评论最多。有点社会学的意思哦~~ 结果如下:

comment_hour	comment_count
0	53
1	39
2	34
3	21
4	21
5	28

5. 前10位评论最多的访客统计:

SELECT `comment_author`, `comment_author_email`, COUNT(*) AS `comment_count` FROM `wp_comments` WHERE `comment_approved` = '1' AND `comment_type` = '' GROUP BY `comment_author_email` ORDER BY `comment_count` DESC LIMIT 10;

至于列出多少个,看这句话最后的数字了,这里是10,所以只列出十个;因为是desc,所以是按评论从多到少的顺序列出,换成asc,将按从少到多的顺序来。结果如下:

comment_author	comment_author_email	comment_count
易者	        xsfxqqq@live.com	5
歌迪安	        fadfafff@qq.com 	4
我就一路过的	tafagzzz@sina.com	3

以上这些代码都是现成的东西,稍微懂些mysql语法,将其中的参数进行更换,则会得到不同的数据结果。当然,如果你精通此道,按照自己的意思写语句来实现,也未尝不可,因为这些功能都是插件无法完成的,需要自己动手、动脑。

打赏
未经允许不得转载:留点后路 » [译]5个有用的Woredpress数据库(MySQL)查询语句

评论 25

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #22

    参考了部分命令,写了个导出评论者昵称和地址的文章。求指点。/微笑

    woniuren6年前 (2012-03-31)Reply
  2. #21

    参考了部分命令,写了个导出评论者昵称和地址的文章。求指点。/微笑

    woniuren6年前 (2012-03-31)Reply
  3. #20

    参考了部分命令,写了个导出评论者昵称和地址的文章。求指点。/微笑

    woniuren6年前 (2012-03-31)Reply
  4. #19

    参考了部分命令,写了个导出评论者昵称和地址的文章。求指点。/微笑

    woniuren6年前 (2012-03-31)Reply
  5. #18

    你可以试试,这一类的插件肯定受欢迎,呵呵~

    qsduoduo7年前 (2011-10-25)Reply
  6. #17

    你可以试试,这一类的插件肯定受欢迎,呵呵~

    qsduoduo7年前 (2011-10-25)Reply
  7. #16

    你可以试试,这一类的插件肯定受欢迎,呵呵~

    qsduoduo7年前 (2011-10-25)Reply
  8. #15

    你可以试试,这一类的插件肯定受欢迎,呵呵~

    qsduoduo7年前 (2011-10-25)Reply
  9. #14

    把这些代码放到插件里面,实现某些功能不错

    独自流浪7年前 (2011-10-25)Reply
  10. #13

    把这些代码放到插件里面,实现某些功能不错

    独自流浪7年前 (2011-10-25)Reply
  11. #12

    把这些代码放到插件里面,实现某些功能不错

    独自流浪7年前 (2011-10-25)Reply
  12. #11

    把这些代码放到插件里面,实现某些功能不错

    独自流浪7年前 (2011-10-25)Reply
  13. #10

    把这些代码放到插件里面,实现某些功能不错

    独自流浪7年前 (2011-10-25)Reply
    • 你可以试试,这一类的插件肯定受欢迎,呵呵~

      qsduoduo7年前 (2011-10-25)Reply
  14. #9

    用notepad++之类的编辑器,把下载来的mysql数据库打开,将顶级域名统一替换为二级域名即可~~这是比较稳妥的办法,编辑之前做好数据库的备份~~

    qsduoduo7年前 (2011-10-25)Reply
  15. #8

    用notepad++之类的编辑器,把下载来的mysql数据库打开,将顶级域名统一替换为二级域名即可~~这是比较稳妥的办法,编辑之前做好数据库的备份~~

    qsduoduo7年前 (2011-10-25)Reply
  16. #7

    用notepad++之类的编辑器,把下载来的mysql数据库打开,将顶级域名统一替换为二级域名即可~~这是比较稳妥的办法,编辑之前做好数据库的备份~~

    qsduoduo7年前 (2011-10-25)Reply
  17. #6

    用notepad++之类的编辑器,把下载来的mysql数据库打开,将顶级域名统一替换为二级域名即可~~这是比较稳妥的办法,编辑之前做好数据库的备份~~

    qsduoduo7年前 (2011-10-25)Reply
  18. #5

    我数据库什么的都不太懂,但是有一个问题,就是我原来是用顶级域名下放了一个WORPRESS,后来,把数据搬到了一个二级域名下,问题出来了,就是这原来上传的图片什么的,都打不开,图片的地址都是顶级域名打头的,而在二级域名下,应该变成二级域名打头,这要在数据库中怎么可以一笔改过来呢,求解,谢谢! 😆

    vonoss7年前 (2011-10-25)Reply
  19. #4

    我数据库什么的都不太懂,但是有一个问题,就是我原来是用顶级域名下放了一个WORPRESS,后来,把数据搬到了一个二级域名下,问题出来了,就是这原来上传的图片什么的,都打不开,图片的地址都是顶级域名打头的,而在二级域名下,应该变成二级域名打头,这要在数据库中怎么可以一笔改过来呢,求解,谢谢! 😆

    vonoss7年前 (2011-10-25)Reply
  20. #3

    我数据库什么的都不太懂,但是有一个问题,就是我原来是用顶级域名下放了一个WORPRESS,后来,把数据搬到了一个二级域名下,问题出来了,就是这原来上传的图片什么的,都打不开,图片的地址都是顶级域名打头的,而在二级域名下,应该变成二级域名打头,这要在数据库中怎么可以一笔改过来呢,求解,谢谢! 😆

    vonoss7年前 (2011-10-25)Reply
  21. #2

    我数据库什么的都不太懂,但是有一个问题,就是我原来是用顶级域名下放了一个WORPRESS,后来,把数据搬到了一个二级域名下,问题出来了,就是这原来上传的图片什么的,都打不开,图片的地址都是顶级域名打头的,而在二级域名下,应该变成二级域名打头,这要在数据库中怎么可以一笔改过来呢,求解,谢谢! 😆

    vonoss7年前 (2011-10-25)Reply
  22. #1

    我数据库什么的都不太懂,但是有一个问题,就是我原来是用顶级域名下放了一个WORPRESS,后来,把数据搬到了一个二级域名下,问题出来了,就是这原来上传的图片什么的,都打不开,图片的地址都是顶级域名打头的,而在二级域名下,应该变成二级域名打头,这要在数据库中怎么可以一笔改过来呢,求解,谢谢! 😆

    vonoss7年前 (2011-10-25)Reply
    • 用notepad++之类的编辑器,把下载来的mysql数据库打开,将顶级域名统一替换为二级域名即可~~这是比较稳妥的办法,编辑之前做好数据库的备份~~

      qsduoduo7年前 (2011-10-25)Reply

后路哥-主机服务

独立服务器台湾云主机

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏