Bases de Datos > SQL Server

 Duda Sobre Consulta Sql

(1/2) > >>

franc:
Hola !! tengo una duda sobre una consulta que tengo que hacer,


la consulta es la siguiente:



--- Código: Text ---Obtener el décimo (debe haber sólo 9 por encima de él) club con mayor número de fansindicando ese número. 

consigo sacar el listado de clubes pero no se como mostrar SOLO el decimo ( la decima linea de la consulta )


¿ me explico ?


Ayudarme porfavor, debo de entregarlo mañana :(

JuanK:
si te entiendo....
bueno ya tienes la lsita de clubes...
asi que ahora haremos algo como esto:

1- Debes incluir la columna ROWNUM  en  tu consulta
2- Sobre el resultado de esa consulta peudes volver a seleecionar todo pero le dices que solo donde numero=10

<!--sql--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>SQL </td></tr><tr><td id='CODE'><!--sql1-->[color=blue;font-weight]SELECT[/color] CLUB_NOMBRE, CLUB_CANTIDAD
FROM([color=blue;font-weight]SELECT[/color] CLUB_NOMBRE, CLUB_CANTIDAD, ROWNUN NUMERO
         FROM CLUB) WHERE NUMERO = 10
/
<!--sql2--></td></tr></table><div class='postcolor'><!--sql3-->

franc:
Entonces la consulta quedaria asi:



--- Código: Text --- SELECT nombre, numFROM (SELECT nombre, num, ROWNUM numero FROM club order by num DESC)  WHERE numero = 10  

no entiendo la sintaxis, como es que pones ROWNUM numero, que fin tiene eso? podrias explicarme el funcionamiento? gracias

JuanK:
ROWNUM devuelve el numero de la fila actual
y ROWNUM NUMERO le dice al motor que la consulta debe llamar ala columna con el  ombre NUMERO y no con el nombre ROWNUM.

franc:
Gracias por tu ayuda, pero....

no me funciona, mira los datos que tiene la tabla son los siguientes:


--- Código: Text --- INSERT INTO club VALUES ('1','Zoomania','33, Abbey Road',2508,'1');  INSERT INTO club VALUES ('10','Machines','Calle 3, Lab 3',7789,'3');  INSERT INTO club VALUES ('11','Jardin Botanico','203,Valencia 46004',357,'6');  INSERT INTO club VALUES ('12','Bonoculture','12, East Av.',129,'1');  INSERT INTO club VALUES ('13','Waterfront','C/Martin Blas 22',234,'2');  INSERT INTO club VALUES ('14','FanMike','Beverly Hills 90210',11,'3');  INSERT INTO club VALUES ('15','Presuntos','C/Albacete 12, bajo',237,'5');  INSERT INTO club VALUES ('16','Implicado','Torrejon de Ardoz 12',25,'5');  INSERT INTO club VALUES ('17','Los Culpables','C/Maria Cristina 67',355,'5');  INSERT INTO club VALUES ('2','u2foryou','23, 11th Street',1700,'1');  INSERT INTO club VALUES ('3','Che U2','C/Almussafes 59',239,'1');  INSERT INTO club VALUES ('4','Troglominds','C/Lepe 22',999,'2');  INSERT INTO club VALUES ('5','Mentes Fuertes','Ramon y Cajal 14',1984,'2');  INSERT INTO club VALUES ('6','The best mind','24, Homeround',1413,'2');  INSERT INTO club VALUES ('7','Genefans','C/Visitacion 34',23412,'4');  INSERT INTO club VALUES ('8','Fanaticgens','Av. H. Dominicos 155',12002,'4');  INSERT INTO club VALUES ('9','Futuristas','C/Alboraya 10',9850,'6');   

El penultimo campo corresponde a "numero de fans" y se desea coger el decimo club con mas fans, es decir ordenar los datos de mayor a menor y sacar el que hace 10.


Segun lo que me has dicho, lo que me imprime es el dato

--- Código: Text ---INSERT INTO club VALUES ('2','u2foryou','23, 11th Street',1700,'1');   
... nose si sera casualidad, pero si cuento los datos ordenados segun los introduje en la BD, ese dato es el 10 pero yo no kiero ese ¿ me entiendes ?

Creo que es porque no me ordena y por lo tanto no me coje el decimo con mas fans sino el decimo sin ordenar.

Deberia de imprimir este dato:


--- Código: Text ---INSERT INTO club VALUES ('11','Jardin Botanico','203,Valencia 46004',357,'6');  
que es el decimo ordenado de mayor a menor.


¿ me ayudas porfavor ? es importante, gracias

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa