Ir para conteúdo

POWERED BY:

Arquivado

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

holambra

[Resolvido] Como contar quantos registros tem dendro do Group by

Recommended Posts

Olá Galera!!!

 

tenho uma tabela que preciso listar quantas cidades tenho por estado, ao mesmo tempo quero somar oque está agurpado (Group bay) e exibir na frente da cidade.

 

Segue o código

 

<TABLE border=1 width="500" align=center cellpadding=2 cellspacing=1 bordercolorlight=#cccccc bordercolor=white>
<% 
Response.Charset = "ISO-8859-1"
'-------------------------------------------------------------
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DBQ=" & Server.MapPath("../rbb.mdb") & ";PWD=imobiliaria;Driver={Microsoft Access Driver (*.mdb)}"
Set RS= Server.CreateObject("ADODB.Recordset") 
SQL = "SELECT * FROM pesquisa WHERE evento='novo'" 
RS.Open SQL, conn, 3
temp0 = RS.RecordCount
'-------------------------------------------------------------
Set RS1= Server.CreateObject("ADODB.Recordset") 
SQL1 = "SELECT cidade FROM pesquisa WHERE estado='SP' AND evento='novo' group by cidade order by cidade" 
RS1.Open SQL1, conn, 3
temp1 = RS1.RecordCount
'-------------------------------------------------------------
Set RS2= Server.CreateObject("ADODB.Recordset") 
SQL2 = "SELECT * FROM pesquisa WHERE estado='SP' AND evento='novo'" 
RS2.Open SQL2, conn, 3
temp2 = RS2.RecordCount
'-------------------------------------------------------------
var1=FormatNumber(temp2/temp0*100,2)
%>
<tr>
	<td width="30%"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Total de Pesquisas : <font color="#FF0000"><%=temp0%></font></b></font></td>
</tr>
</table>
<br />
<TABLE border=1 width="500" align=center cellpadding=2 cellspacing=1 bordercolorlight=#cccccc bordercolor=white>
<tr>
<td align="left" valign="top"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Estado de São Paulo</font></strong></td>
</tr>
<tr>
<td align="left" valign="top"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><%=temp1%> Cidades</font></strong></td>
</tr>
<tr>
<td align="left" valign="top"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><%=temp2%> Pesquisas - <%=var1%>%</font></strong></td>
</tr>
<%
On Error Resume Next
rs.MoveFirst
do while Not RS1.eof
'-------------------------------------------------------------
%>
<td align="left" valign="top"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><%=  RS1("cidade") %></font></td>
</tr>
<%
RS1.MoveNext
loop
%>
</table>
Espero que desta vez alguem me retorne... rs..

Compartilhar este post


Link para o post
Compartilhar em outros sites
SELECT COUNT(cidade) as totalCidades, cidade FROM pesquisa WHERE estado='SP' AND evento='novo' group by cidade order by cidade

Compartilhar este post


Link para o post
Compartilhar em outros sites

Repetiu meu post pq? Não deu certo? Qual o erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olaá hargon.

 

cliquei errado, o que eu preciso, é por exemplo:

 

Listar todas as cidades e na frente a quantidade de vezes que a cidade apareceu no banco de dados

 

Campinas - 10

Sãp Paulo - 23

Americana - 3

Junidiai - 7

 

assim por diante

 

Obrigado por responder....

Compartilhar este post


Link para o post
Compartilhar em outros sites

primeiro liste as cidades com um sql normal

 

select * from Unidades

 

e depois conte, mais ou menos assim:

 

<%
dim rs_cidades, rs_contas

set rs_cidades = conn.execute("select * from cidades order by nome asc")
	if not rs_cidades.eof then
		set rs_contas = conn.execute("select count(nome) as conta from cidades where nome = '"&rs_cidades("nome")&"'")
			if not rs_contas.eof then
				response.write(rs_cidades("nome")&": "&rs_contas("conta"))
			end if
		set rs_contas = nothing
	end if
set rs_cidades = nothing
%>

o group by ai já é com você!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia, Ted K

 

Obrigado pela ajuda, mas tentei com teu exemplo e só apareceu uma cidade a primeira.

 

Preciso que liste todas com sua quantidades ao lado.

 

Pergunto: será que dá para fazer com 2 selects em colunas separadas?

Compartilhar este post


Link para o post
Compartilhar em outros sites

No exemplo do Tiu Ted ficou faltando o While:

<%
dim rs_cidades, rs_contas

set rs_cidades = conn.execute("select * from cidades order by nome asc")
if not rs_cidades.eof then
While Not rs_cidades.
	set rs_contas = conn.execute("select count(nome) as conta from cidades where nome = '"&rs_cidades("nome")&"'")
	if not rs_contas.eof then
		response.write(rs_cidades("nome")&": "&rs_contas("conta") &"<br>")
	end if
	set rs_contas = nothing
	rs_cidades.MoveNext
Wend
end if
set rs_cidades = nothing
%>

Esse é um exemplo básico, o relacionamento entre as tabelas podem ser por campos ID e deve ser adaptado a cada caso.

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.