Ir para o conteúdo
iron

Problema ao ir buscar valor

Mensagens Recomendadas

iron

Boas.

Tenho um pequeno problema com a minha querry.

select MovieID, ((OneStar + (TwoStar*2) + (TreeStar*3) + (FourStar*4) + (FiveStar*5))/(OneStar + TwoStar + TreeStar + FourStar + FiveStar)) as average from
(select * from Movie
where OneStar > 0 or TwoStar>0 or FourStar > 0 or TreeStar>0 or FiveStar>0) a

O que tenho é isto.

Agora eu quero ir buscar o average máximo, e o id do MovieID correspondente.

Mas não estou a conseguir.

Desde já obrigado

P.S

Resolvi o problema assim, sei que não é a maneira mais correcta, mas não estou a conseguir de uma maneira mais fácil.

Se alguém conseguir explicar me como fazer de outra maneira agradecia.

select * from Movie
inner join
 (select max(b.average) as maximum from
  (select MovieID, ((OneStar + (TwoStar*2) + (TreeStar*3) + (FourStar*4) + (FiveStar*5))/(OneStar + TwoStar + TreeStar + FourStar + FiveStar)) as average from
   (select * from Movie
 where OneStar > 0 or TwoStar>0 or FourStar > 0 or TreeStar>0 or FiveStar>0
   ) a
  ) b
 ) c
 on c.maximum = ((OneStar + (TwoStar*2) + (TreeStar*3) + (FourStar*4) + (FiveStar*5))/(OneStar + TwoStar + TreeStar + FourStar + FiveStar))

Editado por iron

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
PaisNeto

Boa tarde,

alterei um pouco a tua query,

não testei e nem estive muito tempo a olhar para ela, foi mesmo uma coisa rápida

verifica se funciona

SELECT MovieID, MAX(average) as average
FROM(
 select MovieID, ((OneStar + (TwoStar*2) + (TreeStar*3) + (FourStar*4) + (FiveStar*5))/(OneStar + TwoStar + TreeStar + FourStar + FiveStar)) as average
 from Movie
 where OneStar > 0
   or TwoStar  > 0
   or FourStar > 0
   or TreeStar > 0
   or FiveStar > 0
   )
GROUP BY MovieID

Partilhar esta mensagem


Ligação 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

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.