• Lunes 29 de Abril de 2024, 00:43

Autor Tema:  Duda Sobre Consulta Sql  (Leído 2984 veces)

franc

  • Miembro MUY activo
  • ***
  • Mensajes: 157
    • Ver Perfil
Duda Sobre Consulta Sql
« en: Miércoles 12 de Enero de 2005, 20:15 »
0
Hola !! tengo una duda sobre una consulta que tengo que hacer,


la consulta es la siguiente:


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


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

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Duda Sobre Consulta Sql
« Respuesta #1 en: Miércoles 12 de Enero de 2005, 20:31 »
0
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-->
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

franc

  • Miembro MUY activo
  • ***
  • Mensajes: 157
    • Ver Perfil
Re: Duda Sobre Consulta Sql
« Respuesta #2 en: Miércoles 12 de Enero de 2005, 21:09 »
0
Entonces la consulta quedaria asi:


Código: Text
  1.  
  2. SELECT nombre, num
  3. FROM (SELECT nombre, num, ROWNUM numero FROM club order by num DESC)
  4.  
  5. WHERE numero = 10
  6.  
  7.  


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

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Duda Sobre Consulta Sql
« Respuesta #3 en: Miércoles 12 de Enero de 2005, 21:11 »
0
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.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

franc

  • Miembro MUY activo
  • ***
  • Mensajes: 157
    • Ver Perfil
Re: Duda Sobre Consulta Sql
« Respuesta #4 en: Miércoles 12 de Enero de 2005, 22:07 »
0
Gracias por tu ayuda, pero....

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

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


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
  1. INSERT INTO club VALUES ('2','u2foryou','23, 11th Street',1700,'1');  
  2.  

... 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
  1. INSERT INTO club VALUES ('11','Jardin Botanico','203,Valencia 46004',357,'6');
  2.  

que es el decimo ordenado de mayor a menor.


¿ me ayudas porfavor ? es importante, gracias

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Duda Sobre Consulta Sql
« Respuesta #5 en: Miércoles 12 de Enero de 2005, 22:14 »
0
obviamente,

Supuse que tenias ya tu select ordenado, solo ordenalo y ya.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

lucaseto

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Re: Duda Sobre Consulta Sql
« Respuesta #6 en: Lunes 14 de Marzo de 2005, 20:01 »
0
JuanK en SQL Server esa funcion ROWNUN  no existe ahi como seria sin necesidad de usar un cursor