• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

extint

Ajuda a utilizar o count - urgente

7 mensagens neste tópico

Boa tarde pessoal,

Eu estou aqui com um problema e preciso mesmo de ajuda!!

Por exemplo eu estou a fazer a seguite query

SELECT count ([XPTO]) from [xxx].[xxx].[xxx] Group By [XPTO]

O que me dá o count de de cada XPTO, agora o que eu queria era utilizar essa contagem que foi feita para fazer este genero de condição.

SELECT count ([XPTO]) from [xxx].[xxx].[xxx] Group By [XPTO] Where "contagem do XPTO" >= 1000")

, Devolvendo assim todas as contagem que fossem apenas superiores ou iguais a 1000

Alguem me sabe dizer como e que é possivel fazer isto?

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

SELECT count ([XPTO]) as Total from [xxx].[xxx].[xxx]  Where Total >= 1000

Não testei... Será que assim dá?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

SELECT count ([XPTO]) as Total from [xxx].[xxx].[xxx]  Where Total >= 1000

Não testei... Será que assim dá?

Ele assim nao funciona pq o sql nao reconhece a variavel total (da erro de nao existir a coluna com o nome de total). Se colocarmos 'total' também nao funciona porque ele considera que o total é um varchar e nao um inteiro!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pessoal obrigadão pela ajuda mas já consegui resolver o problema! :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

select count(xpto) as total from tabela having count(xpto) > 1000

assim deve dar tambem

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado pela ajuda! eu resolvi da seguinte forma:

SELECT count ([XPTO]), [XPTO] from [XXX].[XXX].[XXX] Group By [XPTO] having ([XPTO]) > 999

Obrigado pela ajuda mais uma vez! :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

SELECT count ([XPTO]) as Total from [xxx].[xxx].[xxx]  Where Total >= 1000

Não testei... Será que assim dá?

Isso não funciona porque a cláusula "WHERE" é interpretada antes da "SELECT", e os alias são criados pela fase "SELECT" da query. Por isso, quando é avaliado o "Total >= 1000", o interpretador ainda não sabe o que é o Total.

A cláusula "HAVING" é interpretada depois da "SELECT", por isso a 2ª tentativa já é válida.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora