Bases de Datos > SQL Server
Duda Sobre Consulta Sql
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
[#] Página Siguiente
Ir a la versión completa