Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DackAle

Problema GROUP BY

Recommended Posts

E ae galeraSeguinte, tenho uma tabela com compo id, ip e data_criacaoGostaria de selecionar os meses e seus respectivos acessos e mostrar o mês e acessos, por exemplo:Janeiro - 155Fevereiro - 456

SQL="SELECT count(id) AS Total, data_criacao FROM contador GROUP BY MONTH(data_criacao)"SET RS = Server.CreateObject("Adodb.recordset")rs.open sql,conexao,3,3						while not rs.eof 						response.write rs("data_criacao") & " - " & rs("total") & "<br>"						rs.movenextwend						rs.closeset rs = nothing
Dá o seguinte erro

Microsoft JET Database Engine error '80040e21' You tried to execute a query that does not include the specified expression 'data_criacao' as part of an aggregate function. /Cliente - Linha D'Agua/Guia dos Empretecos/painel/estatisticas.asp, line 252

Se eu tirar o data_criacao da seleção funciona, mas ai não sei qual o mês que está sendo mostrado, como posso corrigir isso?Abraços e valeu galera

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você colocar no SELECT MONTH(data_criacao) igual está no GROUP BY da o mesmo erro? E se colocar no GROUP BY só data_criacao ? Imagino que ambos devem possuir os mesmos campos com os mesmos valores.

Compartilhar este post


Link para o post
Compartilhar em outros sites
SQL="SELECT Month(data_criacao) FROM Contador GROUP BY data_criacao"						SET RS = Server.CreateObject("Adodb.recordset")						RS.open sql,conexao,3,3												while not RS.eof 												response.write RS("data_criacao") & "<br>"												RS.MoveNext						wend												RS.close						set RS = nothing

Item cannot be found in the collection corresponding to the requested name or ordinal.

Nãi deu :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim.

SQL="SELECT data_criacao FROM Contador GROUP BY data_criacao"
SET RS = Server.CreateObject("Adodb.recordset")
RS.open sql,conexao,3,3
						
while not RS.eof
						
response.write Month(RS("data_criacao")) & "<br>"
						
RS.MoveNext
wend
						
RS.close
set RS = nothing

Compartilhar este post


Link para o post
Compartilhar em outros sites

só tome cuidado com o ano.. você pode pegar um valor de outro ano como você somente trata o mes!

SELECT 	 MONTH(data_criacao) mes_criacao, 	 YEAR(data_criacao) ano_criacao,	 count(*) totalFROM 	 contador GROUP BY 	 MONTH(data_criacao), YEAR(data_criacao)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.