Jump to content
marsolim

contar sums pra classificar posições

Recommended Posts

galera tô tentando fazer uma classificação aqui junto com um sum e não to conseguindo. até o momento consigo gerar a tabela de desempenho assim

 

   $sql = "SELECT *,SUM(pontos_total) AS totais FROM desempenho INNER JOIN usuarios ON usuarios.id = desempenho.id_usuario GROUP BY id_usuario ORDER BY totais DESC";

    if($res = mysqli_query($con, $sql)){
        while($row = mysqli_fetch_assoc($res)){
            echo $row["nome"] . " - " . $row["totais"] . "<br>";
        }
    }

 

ok isso me gera uma tabela como segue

 

jean claude van damme - 152

bruna marquezine - 149

bruce willis - 131

...

 

o que não to conseguindo é incluir um contagem pra saber em que posição a pessoa está por exemplo se a bruna marquezine logar no sistema deve aparecer pra ela

 

Sua pontuação: 149

Sua posição: 2

 

to tentando incluir uma clausula pra contar os totais maiores ou iguais ao do usuário logado e assim a quantidade de registros que retornar é a posição da pessoa.

 

detalhe pertinente: totais é uma soma de vários subtotais espalhados pela tabela em nome de cada usuario tipo

Citar

 

id_usuario | ponto_totais

-----------------|----------------------

1                 | 3

2                 | 2

2                 | 2

1                 | 4             

3                 | 1

2                 | 3

3                 | 2

1                 | 1

2                 | 5

4                 | 4

5                 | 2

4                 | 3

 

nesse cenario temos como soma dos pontos totais

 

1 - 8

2 - 13

3 - 3

4 - 7

5 - 2

 

alguma ideia de como posso pegar a posição apenas alterando o sql?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By lezão
      Boa noite!
      Td bem com vcs?
      Estou usando esse código mas não retorna nada!
       
      Alguém pode me ajudar ?
       
       
      <?php $sql = mysqli_query($link, "SELECT ver_post, COUNT(ver_post) AS Quantidade FROM tab_comentarios where ver_post = 'red' Group by ver_post"); ?> Variável
      <?php echo $Quantidade; ?>  
    • By neto_celino
      Estou usando o seguinte código para somar um SELECT, mas cheguei em um determinado ponto que travei.
       
      Tenho 400 registros na DB e tenho que somar alguns registros somente. Ou seja, somar o (valortotal) de alguns ID's somente. 
      É possivel e por onde vou ? rs.
      <?php $subtotal = "SELECT SUM(valortotal) from tbl_compras WHERE id = VariosIdAqui"; $resultado = mysql_query($subtotal); $registro = mysql_fetch_row($resultado); echo number_format($registro[0], 2, ',', ' ') ;  ?>      
    • By Giovanird
      Olá amigos!
      Tenha a seguinte estrutura no banco MySQL
      COD   |   PONTOX  |  PONTOY  |  ATLETAX       |  ATLETAY
      1         |   0               |  1               |  Maria              |  João
      2         |   2               |  0               |  João               |  Maria
      3         |   0               |  2               |  Maria              |  João
      4         |   7               |  5               |  Maria              |  João
      5         |   0               |  3               |  João               |  Maria
      6         |   2               |  1               |  João               |  Maria
      7         |   0               |  6               |  Maria              |  João
      8         |   4               |  0               |  João               |  Maria
       
      Preciso de ajuda para somar quantos pontos fez o atleta João nos últimos 5 torneios (COD 8, 7, 6, 5 e 4)  Há momento que o João jogou em X e outro momento em Y.
      Abaixo segue meu Select, onde a soma dos pontos deve ser 17.
       
      nomeatleta = "João"
      Set soma= banco.execute("SELECT sum(PONTOX ) AS somax,  sum(PONTOY ) AS somay FROM (select cod, pontox, pontoy, atletax, atletay  from torneios where (atletax like '"&nomeatleta&"' or atletay like '"&nomeatleta&"') order by cod desc limit 5) AS temp")
       
    • By Alberto Nascimento
      Tenho o seguinte código que faz a consulta e contagem de todos os campos de uma tabela e retorna a quantidade através de ECHO.
      Porém preciso que tenha dois critérios a seguir para então contar:
      <?php $servidor = ""; $usuario = ""; $senha = ""; $dbname = ""; $conn = mysqli_connect($servidor, $usuario, $senha, $dbname); if(!conn) { echo "Error"; } $sql="SELECT count(id) AS total FROM tbl_test"; $result=mysqli_query($conn,$sql); $values=mysqli_fetch_assoc($result); $num_rows=$values['total']; echo $num_rows; ?> Só que preciso que primeiro encontre todos os registros que tiverem o nome "ALBERTO" no campo NOME e logo em seguida faça a contagem dos registros de acordo com o campo SITUACAO .
      Ficaria desta forma a ser exibido:
       
       
      Obrigado !!
    • By biakelly
      Oi, criei uma função para contar uma coluna específica:
       
      function contando-usuarios() { global $conn, $db-nativas; $sql = "SELECT COUNT(*) FROM $tabela-nativa WHERE ID = '" . ['$contaenfermeiras'] . "'"; if ($result = mysqli_query($conn, $sql)) { if (mysqli_num_rows($result) >= 1) { $row = mysqli_fetch_row($result); return $row['$contaenfermeiras']; } } }  
       
      Ao chamar no index desta forma:
       
      <?php echo ($contaenfermeiras);?>  
      Gera erro:  Notice: Undefined variable: contaenfermeiras in C:\xampp\htdocs\hosp\index.php on line 5
       
      A linha 5 é a chamada: <?php echo ($contaenfermeiras);?>

      To fazendo algo errado? Como chamo corretamente?
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.