tchaves 0 Denunciar post Postado Agosto 3, 2015 Olá pessoal, bom dia! Mais uma vez preciso da ajuda dos senhores(as). Pretendo fazer um comparativo entre meses. A pessoa cai em uma tela que tem que escolher um período, aí com SQL, pretendo pegar as informações na base daquele período(mês) e também trazer as informações dos outros dois meses anterior. Eu não faço a mínima idéia de como fazer isso, mas já tenho a query que pega o período informado pelo browser. Alguém que já tenha passado por algo parecido e queira compartilhar a solução. Desde já agradeço! SELECT queue.name AS Filas, COUNT(*) Quantidade FROM ticket, queue WHERE ticket.create_time BETWEEN '2015-07-16' and '2015-07-22' AND ticket.queue_id = queue.id AND queue.valid_id = 1 GROUP BY queue.name;+-------------------------------------------+------------+| Filas | Quantidade |+-------------------------------------------+------------+| Grupo de Operação Service Desk | 44 || Grupo Especialista de Segurança | 16 |+-------------------------------------------+------------+ Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Agosto 3, 2015 Qual sua dúvida ? Compartilhar este post Link para o post Compartilhar em outros sites
tchaves 0 Denunciar post Postado Agosto 3, 2015 Gostaria de fazer a comparação com os outros meses. Porque aí só está o mês que a pessoa inseriu no browser, tipo, a pessoa colocando: 01/07/2015 a 31/07/2015, do jeito que está vai trazer apenas informações de julho. Queria que ele trouxesse dados dos outros dois meses anterior e separasse certinho estes dados para eu criar 3 gráficos de torres com informações de cada mês. Assim eu saberia qual foi o mês que um determinado grupo atendendeu mais e outros indicadores. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Agosto 3, 2015 algo como SELECT month(ticket.create_time) mes,queue.name AS Filas, COUNT(*) Quantidade FROM ticket, queue WHERE ticket.create_time BETWEEN '2015-05-16' and '2015-07-22' AND ticket.queue_id = queue.id AND queue.valid_id = 1 GROUP BYmonth(ticket.create_time), queue.name Compartilhar este post Link para o post Compartilhar em outros sites
tchaves 0 Denunciar post Postado Agosto 7, 2015 Ola Motta, obrigado pela resposta. Porém quando rodei esta solução, notei um pequeno contratempo. Vou mostrar as informações: Pesquisa pelo mês fechado SELECT MONTH(ticket.create_time) Month, queue.name AS Filas, COUNT(*) Quantidade FROM ticket, queue WHERE ticket.create_time BETWEEN '2015-07-01' and '2015-07-31' AND ticket.queue_id = queue.id AND queue.valid_id = 1 GROUP BY month(ticket.create_time), queue.name;+-------+-------------------------------------------+------------+| Month | Filas | Quantidade |+-------+-------------------------------------------+------------+| 7 | Grupo de Operação Service Desk | 439 || 7 | Grupo Especialista Segurança da Informação | 102 |+-------+-------------------------------------------+------------+ Pesquisa comparando os meses SELECT MONTH(ticket.create_time) Month, queue.name AS Filas, COUNT(*) Quantidade FROM ticket, queue WHERE ticket.create_time BETWEEN '2015-07-01' and '2015-08-10' AND ticket.queue_id = queue.id AND queue.valid_id = 1 GROUP BY month(ticket.create_time), queue.name;+-------+-------------------------------------------+------------+| Month | Filas | Quantidade |+-------+-------------------------------------------+------------+| 7 | Grupo de Operação Service Desk | 462 || 7 | Grupo Especialista Seguraça da Informação | 105 || 8 | Grupo de Operação Service Desk | 122 || 8 | Grupo Especialista Segurança da Informação 14 |+-------+-------------------------------------------+------------+ Percebam que os números do mês 07 está errado em ambas filas. A pesquisa de mês cheio trouxe um resultado e a pesquisa com comparativos entre os dois meses trouxe outro. Alguém sabe o que pode ser? Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Agosto 7, 2015 Trunque a data antes de fazer a comparação , pode ser a hora do último dia , creare_time tem a data e hora comparar por 31.7.15 assume 0:00 h , "se perde" todo o dia 3 , quandacse busca por 2 meses se resolve (para 7) Solucao truque a data ou compare com a hora 1/7/15 00:00:00 31/7/15 23:59:59 Compartilhar este post Link para o post Compartilhar em outros sites
tchaves 0 Denunciar post Postado Agosto 8, 2015 Obrigado por mais uma resposta Motta! Mas o Truque da data seria algo assim? Se for ainda não deu o resultado que eu estava esperando.SELECT MONTH(ticket.create_time) Month, queue.name AS Filas, COUNT(*) Quantidade FROM ticket, queueWHERE ticket.create_time BETWEEN '2015-07-01 00:00:00' and '2015-08-14 23:59:59'AND ticket.queue_id = queue.idAND queue.valid_id = 1GROUP BY month(ticket.create_time), queue.name;+-------+-------------------------------------------+------------+| Month | Filas | Quantidade |+-------+-------------------------------------------+------------+| 7 | Grupo de Operação Service Desk | 462 || 7 | Grupo Especialista Segurança da Informação | 105 || 8 | Grupo de Operação Service Desk | 122 || 8 | Grupo Especialista Segurança da Informação | 14 |+-------+-------------------------------------------+------------+ O resultado esperado seria assim: SELECT MONTH(ticket.create_time) Month, queue.name AS Filas, COUNT(*) Quantidade FROM ticket, queue WHERE ticket.create_time BETWEEN '2015-07-01' and '2015-07-31' AND ticket.queue_id = queue.id AND queue.valid_id = 1 GROUP BY month(ticket.create_time), queue.name;+-------+-------------------------------------------+------------+| Month | Filas | Quantidade |+-------+-------------------------------------------+------------+| 7 | Grupo de Operação Service Desk | 439 || 7 | Grupo Especialista Segurança da Informação | 102 |+-------+-------------------------------------------+------------+ Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Agosto 8, 2015 O 2º sql ficou sem o "truque" , tente com ele. Compartilhar este post Link para o post Compartilhar em outros sites