MySQL community blogging – PlanetMySQL – Part 2

Posted: 20th January 2011 by Darren Cassar in MySQL
Tags: , , ,

After last week’s post about bloggin trends, this week I will go through the most active bloggers over the years as well as particularly for 2010.

What is the range of time analysed here?

mysql >  select min(date_time), max(date_time) from blogs;
+---------------------+---------------------+
| min(date_time)      | max(date_time)      |
+---------------------+---------------------+
| 2004-03-04 19:47:00 | 2011-01-07 13:22:00 |
+---------------------+---------------------+
1 row in set (0.04 sec)

How many blog posts in the above period (almost 7years)?

mysql >  select count(*) from blogs;
+----------+
| count(*) |
+----------+
|    21698 |
+----------+
1 row in set (0.00 sec)

How many authors have contributed to planetmysql?

mysql >  select count(distinct(author)) from blogs;
+-------------------------+
| count(distinct(author)) |
+-------------------------+
|                     538 |
+-------------------------+
1 row in set (0.03 sec)

How does planetmysql distinct type of bloggers?

mysql > select distinct(type) from blogs;
+---------------+
| type          |
+---------------+
| Employee_Team |
| Community     |
| Team          |
| Employee      |
| Official      |
+---------------+
5 rows in set (0.03 sec)

How many blog posts per type (group)?

*** Please note that when a MySQL, Sun, Oracle employee changes status, any blog posts by that person will shift to a new group.

mysql >  select distinct(type), count(*) from blogs group by type order by 2 desc;
+---------------+----------+
| type          | count(*) |
+---------------+----------+
| Community     |    13699 |
| Team          |     3811 |
| Employee      |     3164 |
| Official      |      592 |
| Employee_Team |      432 |
+---------------+----------+
5 rows in set (0.02 sec)

How many authors per type (group)?

mysql >  select type,count(distinct(author)) from blogs group by type order by 2 desc;
+---------------+-------------------------+
| type          | count(distinct(author)) |
+---------------+-------------------------+
| Community     |                     345 |
| Employee      |                     102 |
| Team          |                      64 |
| Official      |                      44 |
| Employee_Team |                      18 |
+---------------+-------------------------+
5 rows in set (0.28 sec)

Of course who are the most active 10 bloggers?

mysql >  select author, count(*) from blogs group by author order by 2 desc limit 10;

+------------------------+----------+
| author                 | count(*) |
+------------------------+----------+
| MySQL Performance Blog |      843 |
| Open Query             |      582 |
| Ronald Bradford        |      570 |
| Baron Schwartz (xaprb) |      485 |
| Giuseppe Maxia         |      478 |
| Brian Aker             |      476 |
| The 451 Group          |      431 |
| Sheeri K. Cabral       |      422 |
| Stewart Smith          |      398 |
| Matt Asay              |      390 |
+------------------------+----------+
10 rows in set (0.03 sec)

Ok lets see the top 20 individuals

Since some of the most active bloggers were at some point employed by MySQL/Sun/Oracle or by one of the support companies they might feature in the teams groups too so the below solves the issue:

mysql >  create temporary table t1( author varchar(255), ct int) engine=myisam;
Query OK, 0 rows affected (0.01 sec)

mysql >  insert into t1 select author, count(*) from blogs where (type='Community' or type='Employee') and date_time > '2010' group by author order by 2 desc limit 20;
Query OK, 20 rows affected (0.03 sec)
Records: 20  Duplicates: 0  Warnings: 0

mysql >  select b.author,count(*) from blogs b, t1 where b.author=t1.author group by b.author order by 2 desc;
+------------------------+----------+
| author                 | count(*) |
+------------------------+----------+
| Ronald Bradford        |      570 |
| Baron Schwartz (xaprb) |      485 |
| Giuseppe Maxia         |      478 |
| Brian Aker             |      476 |
| Sheeri K. Cabral       |      422 |
| Stewart Smith          |      398 |
| Matt Asay              |      390 |
| Zack Urlocker          |      356 |
| Colin Charles          |      330 |
| Frank Mash             |      315 |
| Kaj Arno               |      312 |
| Lenz Grimmer           |      307 |
| Jay Pipes              |      256 |
| Mark Callaghan         |      239 |
| Markus Popp            |      196 |
| Mike Hillyer           |      184 |
| Mike Kruckenberg       |      179 |
| Matt Reid              |      179 |
| Reggie Burnett         |      175 |
| Roland Bouman          |      165 |
+------------------------+----------+
20 rows in set (0.08 sec)

Please note that quantity is not equal to quality so you have to judge for yourself what is good for you and what is not.

Ok lets have a look at 2010 blog count:

mysql >  truncate t1;
Query OK, 0 rows affected (0.04 sec)

mysql >   insert into t1 select author, count(*) from blogs where (type='Community' or type='Employee') and date_time > '2009-12-31' and date_time < '2011-01-01' group by author order by 2 desc limit 20;
Query OK, 20 rows affected (0.03 sec)
Records: 20  Duplicates: 0  Warnings: 0

mysql >  select b.author,count(*) from blogs b, t1 where b.author=t1.author and date_time > '2009-12-31' and date_time < '2011-01-01' group by b.author order by 2 desc;
+------------------------+----------+
| author                 | count(*) |
+------------------------+----------+
| Ronald Bradford        |       99 |
| Baron Schwartz (xaprb) |       98 |
| Shlomi Noach           |       61 |
| Matt Reid              |       61 |
| Andrew Morgan          |       60 |
| Stewart Smith          |       58 |
| Anders Karlsson        |       55 |
| Giuseppe Maxia         |       53 |
| Sheeri K. Cabral       |       45 |
| Henrik Ingo            |       44 |
| Dave Stokes            |       42 |
| Florian G. Haas        |       39 |
| Mark Callaghan         |       32 |
| Brian Aker             |       32 |
| Lenz Grimmer           |       31 |
| Colin Charles          |       31 |
| Ansgar Becker          |       29 |
| Matt Mullenweg         |       28 |
| Simon Mudd             |       28 |
| Darren Cassar          |       26 |
+------------------------+----------+
20 rows in set (0.04 sec)

More analysis of the feed will follow.
Because Sharing is Caring!

VN:F [1.9.22_1171]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

MySQL community blogging – PlanetMySQL – Part 2, 10.0 out of 10 based on 1 rating

  1. [...] This post was mentioned on Twitter by Ralph Jamison, Peter Carr. Peter Carr said: MySQL community blogging – PlanetMySQL – Part 2 « MySQL Preacher: mysql > create temporary table t1( author varc… http://bit.ly/gzMNii [...]

  2. [...] the MySQL Community Blogging article, Ronald Bradford was recognized as the all-time top individual MySQL blogger at Planet [...]

*