Ir para conteúdo

POWERED BY:

Arquivado

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

mkboy

Distinto

Recommended Posts

Tenho numa tabela os resultados11011111211311301141150116Se eu fizer um count como estou fazendo:

  SQL_01cc = "SELECT  COUNT(*) AS TOTAL FROM tb_produtos_carrinho where b_id_carrinho = "& Session("sIdCarrinho") &""      set Rs_01cc = dbkr.execute(SQL_01cc)

Ele vai me responder: 10Só que eu preciso que ele não considere quando for valores repetidos! E que ignore quando for igual a 0Então, ficaria assim o resultado correto: 7Como fazer isso neste meu Count??

Compartilhar este post


Link para o post
Compartilhar em outros sites

depende da base de dados... no mysql, se não me engano da pra fazer assim...

ASP

[*]select count(distinct(campo)) from tabela where campo > 0

 

ou com subquery q deve rodar em diversas bases...

ASP

[*]select count(*) total from 

 

[*](select campo from tabela group by campo)

 

[*]where campo > 0

 

e diversas outras formas tb...

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz assim:

        SQL_01cc = "SELECT  COUNT(distinct(b_id_carrinho)) AS TOTAL FROM tb_produtos_carrinho where b_id_carrinho = "& Session("sIdCarrinho") &""      set Rs_01cc = dbkr.execute(SQL_01cc)

E deu este errro:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1/galery/Profissional/loja/includes/direita.asp, line 46

O outro tb nao... :mellow:

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT Count(CAMPO) AS TOTALFROM (SELECT DISTINCT CAMPOFROM TABELA);tente assim

Compartilhar este post


Link para o post
Compartilhar em outros sites

só pra não deixar no ar... ehehe.. ai vai a sintaxe correta...

 

em mysql

ASP

[*]SELECT COUNT(DISTINCT campo)as total FROM tabela

 

e com subquery roda somente em versão da base >= 4.1

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você estiver utilizando Access. Faz assim: "Select distinct count(*) from tabela where campo > 0" lembrando, a coluna campo, terá que ser do tipo de dado númerico. Isso funfa que é uma beleza... CPU 100% heheheheheheh Abraços,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assim ele conta tudo, 0, repetidos...

SQL_01cc  = "SELECT COUNT(b_id_carrinho)as total FROM tb_produtos_carrinho where b_id_carrinho = "& Session("sIdCarrinho") &" "

Assim o resultado é sempre 1

SQL_01cc  = "SELECT COUNT(DISTINCT b_id_carrinho)as total FROM tb_produtos_carrinho where b_id_carrinho = "& Session("sIdCarrinho") &" "

<%=rs("Total")%>Assim ele conta tudo tambem, 0, repetidos

SQL_01cc  = "SELECT DISTINCT COUNT(*)as total FROM tb_produtos_carrinho where b_id_carrinho = "& Session("sIdCarrinho") &" "

<%=rs("Total")%>Assim

      SQL_01cc  = "select distinct b_id_carrinho from  tb_produtos_carrinho  where b_id_carrinho = "& Session("sIdCarrinho") &" "       Set RS_01cc = Server.CreateObject("ADODB.Recordset")      Call abre_conexao 'minha sub que abre a conexao      Set RS_01cc = dbkr.execute(SQL_01cc)      Total = Rs_01cc.Recordcount

Na page fiz: <%=Total%>Ta dando resultado: -1+ sugestões? Ta difícil!

Compartilhar este post


Link para o post
Compartilhar em outros sites

:( Assim?

SQL_01cc  = "SELECT Sum(b_id_carrinho) AS Total, b_id_carrinho FROM tb_produtos_carrinho GROUP BY b_id_carrinho HAVING b_id_carrinho ="& Session("sIdCarrinho") &" "            Set RS_01cc = dbkr.execute(SQL_01cc)

Compartilhar este post


Link para o post
Compartilhar em outros sites

soma...ele pega a soma dos campos... o count conta quantas ocorrencias tem...ei boy não funcionou com a subquery que te passei??? qual a versão do seu mysql???

Compartilhar este post


Link para o post
Compartilhar em outros sites

MySQL Reference Manual for version 4.0.21.Não funcionou, vou tentar dinovo, ja posto o resultado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz isso:

SQL_01cc = "SELECT Count(b_id_carrinho) AS TOTAL "&_      " FROM (SELECT DISTINCT b_id_carrinho "&_      " FROM tb_produtos_carrinho)"           set Rs_01cc = dbkr.execute(SQL_01cc)

num foiiii! :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei assim, deu -1

    SQL_01cc  = "SELECT b_id_carrinho FROM tb_produtos_carrinho where b_id_carrinho = "& Session("sIdCarrinho") &" GROUP BY b_id_carrinho"      Call abre_dbkr      Set RS_01cc = dbkr.execute(SQL_01cc)      Total = RS_01cc.Recordcount

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.