Ir para conteúdo

POWERED BY:

Arquivado

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

Amaral

ordenação em asp

Recommended Posts

É o seguinte, tenho uma tabela feita no bd(access) com as seguintes colunas:

 

Nome, Pontos, Rebotes, Assistências, ROubos e Tocos. ( médias dos jogadores nesses fundamento)

KObe, 28 , 3 , 5 , 2 , 1

Gasol, 17 , 9 , 2 , 1 , 4

Odom , 10 , 7 , 6 , 1.5 , 2.3

.

.

.

 

 

Eu queria puxar pro meu site somente o nome do jogador que é melhor em cada um desses fundamentos.

 

Exemplo de como eu quero que ele puxe.

 

Kobe: 28 pts( Pois é o que tem mais pontos por jogo)

Gasol: 9 rebotes( pois é quem tem a maior média de rebotes)

Odom: 6 assistências ( pois é quem tem a maior média de assistências)

.

.

.

 

Deu pra entender? Eu quero que ele volte somente os 5 melhores jogadores em cada atributo.

O melhor em pontos

o melhor em rebotes

o melhor em assistências

o melhor em roubos

o melhor em toco

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode fazer direto no SQL, usando a função max () , que retorna o maior valor da coluna selecionada.

 

SELECT MAX(nome_coluna) FROM tabela

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode fazer direto no SQL, usando a função max () , que retorna o maior valor da coluna selecionada.

 

[sql[sELECT MAX(nome_coluna) FROM tabela[/sql]

 

Eu tentei isso, só que nesse caso ele até retorna os valores de pts, rebotes, etc...MAs não retorna o nOme do jogador.

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloca [sql[sELECT MAX(nome_coluna),nome FROM tabela WHERE id=....[/sql]

Compartilhar este post


Link para o post
Compartilhar em outros sites

se for fazer um SELECT para cada atributo basta usar TOP 1

 

SELECT TOP 1 NOME, PONTOS FROM TABELA ORDER BY PONTOS DESC

Compartilhar este post


Link para o post
Compartilhar em outros sites

o MAX pega o maior valor da coluna, o TOP selecionará o 1º, em performance o MAX

O Max ()venceu com apenas 3,764 ms, enquanto o TOP teve 18.172 ms. Eu acho que é seguro dizer que usando max () é mais rápido em campos não indexados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pode se usar o max também mas para pegar outros dados precisará usar subquerys

Compartilhar este post


Link para o post
Compartilhar em outros sites

e se o banco for SQL server , pode tb jogar direto nele...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O meu ficou assim:

 

sqlPts = "SELECT MAX(PPJ) AS ptsPj FROM estatisticas"

 

Ele puxa os dados do maior pontuar, mas como eu faço pra puxar o nome desse cara?

 

POrque nessa função ele só busca na COLUNA PPJ, não puxa os valores das outras colunas, no casa NOME.

 

coloca [sql[sELECT MAX(nome_coluna),nome FROM tabela WHERE id=....[/sql]

 

 

Não entendi como usar a cláusula --> WHERE id =....

Compartilhar este post


Link para o post
Compartilhar em outros sites

como disse se for usar MAX precisará de subquerys

 

Seria algo como

 

SELECT NOME, PONTOS FROM TABELA WHERE PONTOS = (SELECT MAX(PONTOS) FROM TABELA)

Compartilhar este post


Link para o post
Compartilhar em outros sites
SQL="SELECT * FROM estatisticas WHERE pontos = (SELECT MAX(pontos) AS pontmax  FROM estatisticas)"

Compartilhar este post


Link para o post
Compartilhar em outros sites

A real da consulta que postei pelos dados que o membro passou seria

 

SELECT NOME, PPJ FROM estatisticas WHERE PPJ = (SELECT MAX(PPJ) FROM estatisticas)

 

Agora é aguardar o post do membro para saber se resolveu

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.