Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17385
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Agrupar resultados e listar linhas do grupo MySQL

30-06-2014 21:13

Nesse post vou mostrar como fazer para agrupar e listar os resultados do mesmo grupo no MySQL.

Nesse exemplo vou usar a tabela dados com as seguintes colunas e valores:

id - data - descricao
1 - 30-06 - dia tal
2 - 30-06 - outro dia
3 - 01-07 - mais outro dia

A ideia é agrupar os resultados pela data, para ter o seguinte resultado:

30-06 - dia tal,outro dia
01-07 - mais outro dia


Como mostrado, as linhas da data 30-06 foram agrupadas, e a coluna descricao ficaram seguidas pelo grupo das datas.
Para obter esse resultado, devemos usar a seguinte base

// CONEXÃO $selec = "SELECT data, descricao, GROUP_CONCAT(descricao) AS todas FROM dados GROUP BY data"; $exec = mysql_query($selec) or die(mysql_error()); while($campos=mysql_fetch_array($exec)) { echo "{$campos['data']} - {$campos['todas']}<br />"; } 

Acima é a query para uma única tabela. Se for buscar dados entre duas tabelas será necessário usar um INNER JOIN.

SELECT tabela1.coluna1, tabela1.coluna2, GROUP_CONCAT(tabela2.coluna1) AS todas FROM tabela2 INNER JOIN tabela2 ON tabela1.coluna1 = tabela2.coluna1 GROUP BY tabela2.coluna1

Essa query vai depender das colunas e da relação da tabela. Qualquer dúvida só postar.
0
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum :rock:

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado