sacjamm 0 Denunciar post Postado Setembro 21, 2016 Olá prezados, andei pesquisando aqui no fórum e não encontrei nada aqui referente ao que eu quero, então decidi postar, para que os amigos pudessem me ajudar.Então, estou criando um sistema de contador de visitas e a tabela é a seguinte: CREATE TABLE IF NOT EXISTS `go_siteviews` ( `siteviews_id` int(11) NOT NULL AUTO_INCREMENT, `siteviews_date` date NOT NULL, `siteviews_users` decimal(10,0) NOT NULL, `siteviews_views` decimal(10,0) NOT NULL, `siteviews_pages` decimal(10,0) NOT NULL, `online_ip` varchar(255) DEFAULT NULL, PRIMARY KEY (`siteviews_id`), KEY `idx_1` (`siteviews_date`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=117 ; Aqui vai os registros que estão inseridos nessa tabela: INSERT INTO `ws_siteviews` (`siteviews_id`, `siteviews_date`, `siteviews_users`, `siteviews_views`, `siteviews_pages`, `online_ip`) VALUES (113, '2016-09-18', '247', '991', '1724', '66.249.64.175'), (114, '2016-09-19', '204', '908', '1609', '179.124.16.8'), (115, '2016-09-20', '145', '713', '1291', '187.21.233.154'), (116, '2016-09-21', '279', '1109', '1935', '187.37.94.13'); Sendo que o campo siteviews_views é o campo que eu estou fazendo a contagem de visitas total do site. E agora eu quero fazer a contagem pegando pelos ultimos 3 meses, tipo: Junho | Julho e Agosto Quero que me retorne apenas as visitas total referente a cada data, amigos, não tem só esse registro na tabela, tenho muitos registros, esses registros é apenas pra mostrar como está. Então, eu queria uma solução via SQL, para retornar as visitas referente a cada data. Utilizo meus códigos PHP dessa forma: $read = new Read; $read->FullRead("SELECT SUM(siteviews_views) AS views FROM ws_siteviews WHERE siteviews_date = CURDATE()"); $Hoje = $read->getResult()[0]->views; $read->FullRead("SELECT SUM(siteviews_views) AS views FROM ws_siteviews WHERE siteviews_date BETWEEN DATE_FORMAT(CURDATE(), '%Y-%m-01') AND LAST_DAY(CURDATE())"); $Mes = $read->getResult()[0]->views; $read->FullRead("SELECT SUM(siteviews_views) AS views FROM ws_siteviews WHERE siteviews_date BETWEEN DATE_FORMAT(CURDATE(), '%Y-01-01') AND DATE_FORMAT(CURDATE(), '%Y-12-31')"); $Ano = $read->getResult()[0]->views; Agradecimentos, Alisson Maciel Compartilhar este post Link para o post Compartilhar em outros sites
Kakashi_Hatake 267 Denunciar post Postado Setembro 21, 2016 Últimos 3 meses WHERE `field` >= DATE_FORMAT( ADDDATE( NOW( ), INTERVAL -3 MONTH ), '%Y-%m-%d' ) Você quer a contagem dos 3 meses juntos ou de cada um deles (não entendi)? Compartilhar este post Link para o post Compartilhar em outros sites
sacjamm 0 Denunciar post Postado Setembro 21, 2016 Então Coelho, eu preciso das queries separadas, no meu código php eu separo para ficar mais organizado o filtro. Então eu preciso que a query pegue os 3 ultimos meses e conte as visitas, vou testar essa query e posto resultados. Compartilhar este post Link para o post Compartilhar em outros sites
sacjamm 0 Denunciar post Postado Setembro 21, 2016 Coelho, aparentemente, sua solução resolveu o meu problema, bem simples, não sei se está retornando a soma corretamente, mais funcionou aqui e está bom, tópico resolvido. Obrigado! Tenho um outro problema em outra aplicação, um sistema de filtro por data, se puder me ajudar, irei postar a dúvida aqui. Até a próxima! Compartilhar este post Link para o post Compartilhar em outros sites
Kakashi_Hatake 267 Denunciar post Postado Setembro 21, 2016 Isso mesmo, crie um novo tópico para essa nova dúvida. Compartilhar este post Link para o post Compartilhar em outros sites