dnlreis 0 Denunciar post Postado Março 26, 2008 Eae pessoal, alguem sabe como obter o numero da linha no select do mysql, no banco oracle eu usaria o Rownum. Tipo: select Numero_da_Linha, Nome From Funcionarios; Vlwwww Compartilhar este post Link para o post Compartilhar em outros sites
Mário Monteiro 179 Denunciar post Postado Março 26, 2008 nunca usei o Oracle mas nao seria o LIMIT do MySQL? Esse Rownum é a quantidade de registros que retornará a consulta? Compartilhar este post Link para o post Compartilhar em outros sites
dnlreis 0 Denunciar post Postado Março 26, 2008 nunca usei o Oracle mas nao seria o LIMIT do MySQL? Esse Rownum é a quantidade de registros que retornará a consulta? Não, não é isso, mas respondendo sua pergunta, se o rownum for utilizado dentro da clausula where ele pode limitar a quantidade de registros retornados. O que eu quero é o seguinte: Exemplo Select Numero_da_Linha, Nome from clientes Resultado Numero_da Linha - Nome 1 ------------------- Daniel 2 ------------------- Leo 3 ------------------- Marcos .... 255 ----------------- Jose Agora qual função eu colocaria no lugar da coluna Numero_Da_Linha para obter aquele resultado??? Compartilhar este post Link para o post Compartilhar em outros sites
giesta 29 Denunciar post Postado Março 27, 2008 Ola meu amigo.... Fazer isso que você quer em MySQL nao é exatamente simples, pq nao tem rownum do oracle nem o rank() do M$SQL, e eu sugiro q você implemente isso diretamente na programaçao. A titulo de curiosidade ou caso você nao possa fazer isso na programaçao: SELECT t1.nome as nome,count(t2.nome) as ranking FROM tab as t1, tab as t2 where t1.nome > t2.nome OR t1.nome = t2.nome GROUP By t1.nome ORDER BY ranking Isso ordena os nomes do menor pro maior colocando o numerozinho do lado, nao se preocupe se você nao entender a consulta, a principio ela nao faz mto sentido mesmo Obviamente em termos de performance fazer via programaçao tambem eh bem mais rapido e eficiente Compartilhar este post Link para o post Compartilhar em outros sites
Paulo Caesar 0 Denunciar post Postado Abril 2, 2008 Poderia utilizar uma variável também SET @var = 0; SELECT *,@var:=@var+1 FROM `tabela` Apesar de que isso não funcionaria bem com um "WHERE" ali, mostraria do 1 ao ultimo valor, constantemente, sem voltar necessariamente o valor de que seria o "row" Compartilhar este post Link para o post Compartilhar em outros sites