Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Agrupar registros por "dia de vencimento"


EasyRider

Question

[Nível de experiência em MySQL] - Engatinhando.

Boa tarde,

Ainda estou desenvolvendo meus conhecimentos em mysql/php e estou com uma dúvida em um script de consulta que, deveria "ler" o banco de dados e separar o total de "clientes" para cada dia de vencimento...

Explicando melhor, preciso que o script vá até o banco de dados e separe quantos clientes eu tenho para cada dia de vencimento do mes...

Por exemplo:

Dia 5 -> 8 clientes

Dia 6 -> 3 clientes

...

Achei em pesquisas os argumentos DISTINCT e GROUP BY, mas estou apanhando para adequa-los à query..

Tentei assim,

$query = mysql_query("SELECT COUNT(*) FROM clientes GROUP BY cli_venc")or die(mysql_error());
echo mysql_fetch_array($query);
echo $query;

Este trecho tem como saida:

ArrayResource id #5

Alguém pode me dar uma luz?

Grande abraço...

Edited by Denis Courcy
Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0
Tdente assim:
SELECT cli_venc, COUNT(*) AS QTD_CLIENTES FROM clientes GROUP BY cli_venc

Denis, de antemão, obrigado pelo retorno...

Man, se não for abuso, pode me ensinar como faço depois para exibir os grupos?

tipo:

dia 5 -> 8 clientes

Dia 8 -> 3 clientes

...

Obrigado novamente.

Link to comment
Share on other sites

  • 0

Depende da linguagem/plataforma que você está programando...

Acredito que seja PHP. Lá em cima, no seu primeiro post, você deu um echo() no retorno de mysql_fetch_array. Isso não é o correto, pois mysql_fetch_array() retorna um array com todos os resultados obtidos se for usado sozinho, ou um resultado por vez (também no formato de array) se usado em um laço de repetição.

Após fazer isso, você deu um echo() em $query. $query é o valor retornado por mysql_query(), e este valor não pode ser exibido na tela: é um recurso SQL. PHP tem vários tipos de recursos.

Uma maneira de exibí-los é

while($coluna = mysql_fetch_array($query)){
     echo $coluna['cli_venc'].' -> '.$coluna['QTD_CLIENTES'].' clientes</br>';
}

Não sei se vai funcionar porque não testei.

Link to comment
Share on other sites

  • 0
Depende da linguagem/plataforma que você está programando...

Acredito que seja PHP. Lá em cima, no seu primeiro post, você deu um echo() no retorno de mysql_fetch_array. Isso não é o correto, pois mysql_fetch_array() retorna um array com todos os resultados obtidos se for usado sozinho, ou um resultado por vez (também no formato de array) se usado em um laço de repetição.

Após fazer isso, você deu um echo() em $query. $query é o valor retornado por mysql_query(), e este valor não pode ser exibido na tela: é um recurso SQL. PHP tem vários tipos de recursos.

Uma maneira de exibí-los é

while($coluna = mysql_fetch_array($query)){
     echo $coluna['cli_venc'].' -> '.$coluna['QTD_CLIENTES'].' clientes</br>';
}
Não sei se vai funcionar porque não testei.
Bom, mJi... da mesma forma, obrigado... Consegui realizar a "separação" por datas aqui... muito obrigado... Tio google me deu um resultado de um link aqui do fórum com a mesma dúvida: Página aqui... Por enquanto, meu resultado está assim:
$sql = mysql_query("SELECT *, COUNT(cli_venc) AS venc FROM clientes GROUP BY (cli_venc)")or die(mysql_error());
while($lin = mysql_fetch_array($sql)){
    $data = $lin["cli_venc"];
    echo "dia ".$data."-".$lin['venc']." clientes<br>";
}

Muito obrigado pela ajuda...

Forte abraço !

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...