Ir para conteúdo

POWERED BY:

Arquivado

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

dataset

[Resolvido] Select com count access

Recommended Posts

Pessoal... preciso de ajuda.

 

Tenho essa consulta no banco:

SELECT codEnt, codNot, codMat FROM Notas WHERE codEnt=4 AND semCad=1

 

Vai resultar nessa tela:

consulta1.jpg

 

codEnt = Codigo do aluno;

codNot = Nota cadastrada pro aluno;

codMat = Código da matéria;

 

Veja que o código da matéria ta repetindo, eu gostaria que tivesse uma nova coluna mostrando a quantidade de repitições do lado. Por exemplo:

novacoluna.jpg

 

O codigo da matéria 1 repetiu 3 vezes, da matéria 2 repetiu 2 vezes e da matéria 3 repetiu 1 vez. Eu queria que aparecesse do lado.

 

Vai me ajudar muito. Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode usar a função count()do SQL, ela retorna o número de linhas que corresponde a um critério especificado.

 

SELECT COUNT(codMat) AS total FROM Notas GROUP BY codMat

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá xanburzum...

Eu fiz como você sugeriu, veja:

SELECT Notas.codEnt, Notas.codNot, Notas.codMat, Count(Notas.codMat) AS Total
FROM Notas
WHERE (((Notas.codEnt)=4) AND ((Notas.semCad)=1) AND ((Notas.codFas)=1))
GROUP BY Notas.codEnt, Notas.codNot, Notas.codMat
ORDER BY Notas.codMat;

 

E veja o resultado:

consulta2.jpg

 

Acho que não da certo por causa da nota. Como a nota não se repete, então não ta dando certo pra somar.

Se a nota se repetir, então ele vai somar.

 

você sabe como eu resolvo isso ? Vai me ajudar muito.

 

Valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

dependendo da situacaun melhor usar um contatdor normal ou a clausula count do SQL, pois se o seu bd for muito grande o recordcount do objeto recordset pode apresentar uma certa queda de desempenho

e para usar o RecordCount , seu cursortype tem k ser recordset.CursorType = 3 (AdOpenDynamic)

 

exemplo:

<%
DIM mySQL, objRS
mySQL = "SELECT * FROM myTable" 
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open mySQL, objConn

' Count how many records exist
DIM iRecordCount
iRecordCount = 0
DO WHILE NOT objRS.EOF
iRecordCount = iRecordCount + 1
objRS.MoveNext
Loop

' Display result
Response.Write "(" & iRecordCount & ")"

objRS.Close
Set objRS = Nothing 
objConn.Close
Set objConn = Nothing
%> 

 

SQL COUNT

 

<!--#INCLUDE VIRTUAL="/includes/connection.asp" -->

<%
DIM mySQL, objRS
mySQL = "SELECT Count(*) AS intTotal FROM myTable" 
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open recSQL, objConn

' Display result
Response.Write objRS("intTotal")

objRS.Close
Set objRS = Nothing 
objConn.Close
Set objConn = Nothing
%> 

Compartilhar este post


Link para o post
Compartilhar em outros sites

xanburzum ...

 

Eu tenho um controle no meu código que cria uma coluna "<td></td>" cada vez que muda a matéria. Ja ta funcionando. Mas pra totalizar a soma das notas, eu preciso fazer um outro controle.

 

Por isso surgiu a necessidade de saber quantas vezes o código da matéria se repete. To tentado aqui e já não sei mais o que fazer. Realmente eu preciso que uma nova coluna apareça do lado dizendo quantas vezes o código da materia repetiu.

 

você sabe como eu faço isso ? Ou quem sabe um totorial mostrando como montar essa consulta ?

 

Ficarei muito grato.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

como esta sua SQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá...

 

Nesse momento está assim:

SELECT Notas.codEnt, Notas.codNot, Notas.codMat, Count(Notas.codMat) AS Total
FROM Notas
WHERE (((Notas.codEnt)=4) AND ((Notas.semCad)=1) AND ((Notas.codFas)=1))
GROUP BY Notas.codEnt, Notas.codNot, Notas.codMat
ORDER BY Notas.codMat;

 

E está mostrando esse resultado:

consulta2.jpg

 

Eu gostaria que na coluna Total aparecesse as vezes que o codMat se repete:

A matéria 1 repetiu 3 vezes;

A matéria 2 repetiu 2 vezes;

A matéria 3 repetiu 4 vezes;

 

Eu gostaria que a quantidade aparecesse na culuna Total.

 

Ficarei muito grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu certo.

 

A nova coluna Contagem está mostrando quantos registros estão duplicados.

 

Se quizerem, os moderadores podem fechar o tópico.

 

Valeu.

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.