<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Silveira Neto &#187; junção</title>
	<atom:link href="http://silveiraneto.net/tag/juncao/feed/" rel="self" type="application/rss+xml" />
	<link>http://silveiraneto.net</link>
	<description></description>
	<lastBuildDate>Fri, 09 Mar 2012 04:13:27 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Quem mais comenta no seu blog?</title>
		<link>http://silveiraneto.net/2007/12/04/quem-mais-comenta-no-seu-blog/</link>
		<comments>http://silveiraneto.net/2007/12/04/quem-mais-comenta-no-seu-blog/#comments</comments>
		<pubDate>Wed, 05 Dec 2007 00:34:04 +0000</pubDate>
		<dc:creator>Silveira</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[banco de dados]]></category>
		<category><![CDATA[código]]></category>
		<category><![CDATA[consulta]]></category>
		<category><![CDATA[junção]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://silveiraneto.net/2007/12/04/quem-mais-comenta-no-seu-blog/</guid>
		<description><![CDATA[<a href="http://silveiraneto.net/2007/12/04/quem-mais-comenta-no-seu-blog/" title="Quem mais comenta no seu blog?"></a>Uma brincadeira de mão na massa com SQL e as tabelas do WordPress. Você vai precisar de: Um blog em WordPress num servidor próprio. Uma lugar onde você possa se conectar ao banco de dados (provavelmente o MySQL). Um terminal &#8230;<p class="read-more"><a href="http://silveiraneto.net/2007/12/04/quem-mais-comenta-no-seu-blog/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://silveiraneto.net/2007/12/04/quem-mais-comenta-no-seu-blog/" title="Quem mais comenta no seu blog?"></a><p>Uma brincadeira de mão na massa com SQL e as tabelas do WordPress.</p>
<p><center><img src='http://silveiraneto.net/wp-content/uploads/2007/12/wordpress-logo.jpg' alt='Logomarca do WordPress' /></center></p>
<p>Você vai precisar de:</p>
<ul>
<li>Um blog em <a href="http://wordpress.org">WordPress</a> num servidor próprio.</li>
<li>Uma lugar onde você possa se conectar ao banco de dados (provavelmente o <a href="http://mysql.com">MySQL</a>). Um terminal SSH no seu servidor ou mesmo o <a href="www.phpmyadmin.net/">PhpMyAdmin</a> servem.</li>
</ul>
<p>Se você tiver acesso por SSH no servidor onde está seu blog, chame o prompt do mysql assim:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ mysql <span style="color: #660033;">-u</span> USUÁRIO <span style="color: #660033;">-p</span> <span style="color: #660033;">-h</span> URL_DO_BANCO DATABASE</pre></div></div>

<p>Trocando USUÁRIO por seu login no mysql, URL_DO_BANCO por a url do seu banco (geralmente <em>127.0.0.1</em>) e DATABASE por a base de dados (geralmente <em>wordpress</em>). Em seguida será perguntada a sua senha.</p>
<p>Uma vez conectado dentro do seu banco de dados você pode executar algumas queries legais.</p>
<p><strong>Os 10 maiores comentaristas do seu blog</strong>: você seleciona da wp_comments (a tabela de comentários do WordPress) selecionando só os nomes e agrupando pelo email do autor e fazendo uma contagem que chamados de quantidade. Também é feito uma ordenação usando o campo contagem. Aqui eu supondo que a pessoa sempre coloque seu próprio email, mas as vezes mude o nome, o que realmente acontece.</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> comment_author <span style="color: #993333; font-weight: bold;">AS</span> autor<span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">COUNT</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">*</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> quantidade
   <span style="color: #993333; font-weight: bold;">FROM</span> wp_comments
   <span style="color: #993333; font-weight: bold;">GROUP</span> <span style="color: #993333; font-weight: bold;">BY</span> <span style="color: #ff0000;">`comment_author_email`</span>
   <span style="color: #993333; font-weight: bold;">ORDER</span> <span style="color: #993333; font-weight: bold;">BY</span> quantidade <span style="color: #993333; font-weight: bold;">DESC</span>
   <span style="color: #993333; font-weight: bold;">LIMIT</span> <span style="color: #cc66cc;">10</span>
;</pre></div></div>

<p>Usando isso lá no banco de dados do <a href="http://www.eupodiatamatando.com">eupodiatamatando.com</a> que tem uns 3 mil comentários, deu o seguinte:</p>
<pre>
+---------------------------------------------+------------+
| autor                                       | quantidade |
+---------------------------------------------+------------+
| Silveira                                    |        511 |
| 2007 Janeiro 21 &raquo; Eu Podia Ta Matando       |        174 |
| Kct                                         |        133 |
| Filho                                       |         91 |
| Dora                                        |         83 |
| Leonardo                                    |         67 |
| manero                                      |         58 |
| Esdras                                      |         52 |
| Marlany                                     |         51 |
| Roney Marques                               |         50 |
+---------------------------------------------+------------+
10 rows in set (0.12 sec)
</pre>
<p>Ou seja, em primeiro lugar deu eu mesmo, com 511 comentários. Em segundo, o próprio blog com seus <a href="http://en.wikipedia.org/wiki/Pingback">pingbacks</a>. O maior comentarista mesmo foi o comentarista que se identifica como <a href="http://casadokct.blogspot.com/">Kct</a>.</p>
<p><strong>Os 10 posts mais comentados</strong>: É necessário fazer uma junção entre a tabela dos comentários (wp_comments) e a tabela dos posts (wp_posts) usando o ID do post.</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> wp_posts<span style="color: #66cc66;">.</span>post_title<span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">COUNT</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">*</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> quantidade
   <span style="color: #993333; font-weight: bold;">FROM</span> wp_comments <span style="color: #993333; font-weight: bold;">JOIN</span> wp_posts
   <span style="color: #993333; font-weight: bold;">ON</span> wp_comments<span style="color: #66cc66;">.</span>comment_post_ID <span style="color: #66cc66;">=</span> wp_posts<span style="color: #66cc66;">.</span>ID
   <span style="color: #993333; font-weight: bold;">GROUP</span> <span style="color: #993333; font-weight: bold;">BY</span> wp_posts<span style="color: #66cc66;">.</span>ID
   <span style="color: #993333; font-weight: bold;">ORDER</span> <span style="color: #993333; font-weight: bold;">BY</span> quantidade <span style="color: #993333; font-weight: bold;">DESC</span>
   <span style="color: #993333; font-weight: bold;">LIMIT</span> <span style="color: #cc66cc;">10</span>
;</pre></div></div>

<p>A saída que eu tive:</p>
<pre>
+-----------------------------------------+------------+
| post_title                              | quantidade |
+-----------------------------------------+------------+
| Sobre o vôo 3054                        |        104 |
| Chegou o boneco do Capitão Nascimento!  |         80 |
| Vamos trocar links?                     |         74 |
| O celular Linux já está a venda         |         64 |
| O Que o Emo disse pra Ema?              |         57 |
| Bichos grandes. Falsificações?          |         46 |
| Esse ainda tem muito pra upar           |         45 |
| Entenda Heroes                          |         42 |
| Aqui pro iPhone!                        |         40 |
| Ganhe créditos de graça no celular      |         39 |
+-----------------------------------------+------------+
10 rows in set (0.11 sec)
</pre>
<p><strong>Qual o post você mais comentou</strong>: Basta colocar um WHERE e pegar o autor que você quer, no caso, Silveira (eu). Eu coloquei um limite de 10, para pegar só os 10 posts que eu mais comentei.</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> wp_posts<span style="color: #66cc66;">.</span>post_title<span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">COUNT</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">*</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> quantidade
    <span style="color: #993333; font-weight: bold;">FROM</span> wp_comments <span style="color: #993333; font-weight: bold;">JOIN</span> wp_posts
    <span style="color: #993333; font-weight: bold;">ON</span> wp_comments<span style="color: #66cc66;">.</span>comment_post_ID <span style="color: #66cc66;">=</span> wp_posts<span style="color: #66cc66;">.</span>ID
    <span style="color: #993333; font-weight: bold;">WHERE</span> wp_comments<span style="color: #66cc66;">.</span>comment_author <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">'Silveira'</span>
    <span style="color: #993333; font-weight: bold;">GROUP</span> <span style="color: #993333; font-weight: bold;">BY</span> wp_posts<span style="color: #66cc66;">.</span>ID
    <span style="color: #993333; font-weight: bold;">ORDER</span> <span style="color: #993333; font-weight: bold;">BY</span> quantidade <span style="color: #993333; font-weight: bold;">DESC</span>
    <span style="color: #993333; font-weight: bold;">LIMIT</span> <span style="color: #cc66cc;">10</span>
;</pre></div></div>

<p>O resultado no meu blog foi:</p>
<pre>
+---------------------------------------------+------------+
| post_title                                  | quantidade |
+---------------------------------------------+------------+
| Vamos trocar links?                         |         20 |
| Regnum, RPG online gratúito                 |         11 |
| Promoção: Estamos Dando 97 dólares!         |          7 |
| Aqui pro iPhone!                            |          6 |
| Vamos escrever um livro?                    |          6 |
| Democracy TV Player                         |          5 |
| Formatura, novidades                        |          5 |
| Como eu consegui cancelar minha conta na Oi |          5 |
| Chico Buarque em Fortaleza                  |          4 |
| Livro Python Guia de Bolso                  |          4 |
+---------------------------------------------+------------+
10 rows in set (0.02 sec)
</pre>
<p>Se você quiser ir mais fundo nas consultas eu recomendo dar uma olhada na <a href="http://dev.mysql.com/doc/refman/5.0/en/select.html">sintaxe do select do Mysql</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://silveiraneto.net/2007/12/04/quem-mais-comenta-no-seu-blog/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

