Dicas

Query no WordPress para total de posts acumulados no mês

Queria fazer uma análise do total de posts acumulados pelo número de visitas ao blog. Para isso precisei fazer uma query no banco de dados do WordPress, o MySQL.

Para ilustrar o tipo de relatório que eu queria, ele teria as seguintes colunas e dados:

(data) (total de posts no blog)
1/1/2007 100
2/1/2007 105
3/1/2007 110

Depois disso eu relacionaria através das estatísticas geradas no Sitemeter para pageviews e cruzaria os dados:

(data) (total de posts no blog) (pageviews)
1/1/2007 100 682
2/1/2007 105 703
3/1/2007 110 550

É claro que é um estudo meu para ver se existe relação entre os acessos que o Google encaminha ao meu site e a quantidade de conteúdo que o site tem. Algo nerd de se fazer nas horas vagas, hehehe.

Ainda tenho poucos artigos no site para provar alguma coisa mas é um estudo interessante.

Existem duas maneiras que encontrei para construir uma query com totais acumulados no MySQL:

1- Através de subquery. (somente na versão 5 do MySQL)
2- Com ajuda de uma tabela auxiliar.

No meu caso a versão é a 4. Então montei este script que me dá a data e a quantidade de posts acumulados.

--
-- Temporary table:
--
--
CREATE TEMPORARY TABLE tmp(
data date,
count SMALLINT UNSIGNED
);
--
INSERT INTO tmp
SELECT
DATE_FORMAT(a.post_date,'%y/%m/%d') data,
COUNT(*) AS count
FROM wp_sos_posts a
where post_parent=0
GROUP BY DATE_FORMAT(a.post_date,'%y/%m/%d')
ORDER BY DATE_FORMAT(a.post_date,'%y/%m/%d')
;
--
-- SELECT * FROM tmp;
--
SET @cumulative = 0;
--
SELECT data, count, @cumulative:=@cumulative + count AS cumulative FROM tmp;
--
DROP TABLE tmp;

[tags]mysql[/tags] [tags]wordpress[/tags] [tags]sql[/tags]

Comments
To Top