想要统计stackoverflow上关于mongodb的每月的post数量还有总的viewcount
已有stackoverflow的posts镜像表(2014镜像),我们按照标签(tags)来统计。
(1)先把标签分离成sof_tags_database表,
(2)然后新建一个临时表用于存放有关mongodb的post,其结构和stackoverflow的posts表相同:
CREATE TABLE sof_mongodb LIKE Posts_stackoverflow
(3)建立索引后,取出标签中含有“mongodb”的post:
INSERT INTO sof_mongodb SELECT * FROM Posts_stackoverflow p LEFT JOIN sof_tags_database s on p.Id = s.post_id
WHERE s.tags = 'mongodb'
(4)建立索引后,按照年月统计每个月的post数量和总的viewcount。
这里主要用到了MySQL获取日期的指定值的函数EXTRACT(Type FROM Datetime),按照年月分组后统计:
SELECT EXTRACT(YEAR_MONTH from CreationDate),COUNT(post_id),SUM(ViewCount)
FROM sof_mongodb
WHERE CreationDate < '2015-01-01'
GROUP BY EXTRACT(YEAR_MONTH from CreationDate)
(5) 结果如下:
年月,PostNum,ViewCount200809 | 1 | 8875 |
200905 | 2 | 127902 |
200907 | 2 | 8814 |
200908 | 2 | 21682 |
200909 | 4 | 109726 |