Ir para conteúdo

POWERED BY:

Arquivado

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

..GBEST..

Where e Média

Recommended Posts

Tenho a tabela game

com as colunas :

 

TotalRank,TotalGrade e TotalScore

 

queria fazer uma consulta

$sql = "SELECT  TotalScore,TotalGrade,TotalRank from game where TotalGrade=x";
Ai,todos que aparecessem,fazer a soma,e dividir pelo número de registros que aparecerem,tipo uma média.

Alguem sabe como ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

pq você nao pegar o resultado e faz o php soma o resultado desse mysql e dividir por 3

 

ou senao você vai que ter algo nesse estilo ai

 


SELECT ((nota1 + nota2 + nota3)/2) as total
FROM game

 

pq O SUM em MYSQL ESTA DANDO ERRO AQUI PARA MIM :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha ae

$sql = mysql_query("SELECT avg( TotalScore ) as Score, avg( TotalGrade) as Grade, avg( TotalRank ) as Rank from game where TotalGrade=x");

$linha = mysql_fetch_array($sql);
echo "Média de TotalScore = ".$linha['Score'];
echo "<br>Média de TotalGrade = ".$linha['Grade'];
echo "<br>Média de TotalRank = ".$linha['Rank'];

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lembrando que avg, sum e etc são comandos que vão bem acompanhados por GROUP BY, se não "obrigatorios" em alguns casos. Dê uma lida para esclarecer a ideia:

 

http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html

 

pare ser sincero eu nao entendi muito bem o uso do avg nesse caso e estou em duvida agora com a postagem do cara

valeu pelo seu link ,tanto SUM com o AVG eles trabalham para Grupo vlw sua postagem ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

nesse caso não se faz obrigatório o uso do group by pois não há necessidade de separar em grupos, e o banco retorna como sendo um grupo só usando o where, usando avg em todos os campos o banco já entende como agrupamento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como disse, nem sempre é obrigatorio. Contudo, é boa prática de programação utilizar funções de agrupamento com cláusulas de GROUP BY, assim como UPDATE e DELETE sempre com WHERE. Cada um é livre para fazer do jeito que achar melhor...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como disse, nem sempre é obrigatorio. Contudo, é boa prática de programação utilizar funções de agrupamento com cláusulas de GROUP BY, assim como UPDATE e DELETE sempre com WHERE. Cada um é livre para fazer do jeito que achar melhor...

 

lgl fera, pensando bem é melhor saber como funciona pra num kebrar a kbça depois!!

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nenhum dos codigos estão pegando a média,

estão aparecendo o valor do meio,

 

Ex :

10

50

40

30

70

ta aparecendo : 40,que é a linha do meio.

Compartilhar este post


Link para o post
Compartilhar em outros sites

lembrando que no meu código só vai pegar a média das linhas que TotalGrade for igual a x, e não todas as linhas.

 

 

se você quizer pegar todos você terá que tirar o where TotalGrade=x

 

e a média pode coincidir com o valor de alguma linha

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.