Foros del Web » Programando para Internet » ASP Clásico »

problemas con TOP 10

Estas en el tema de problemas con TOP 10 en el foro de ASP Clásico en Foros del Web. Hola de nuevo... Mirar ahora el problema que tengo es el siguiente: Quiero realizar un Top 10 de autores, lo que significa mostrar los 10 ...
  #1 (permalink)  
Antiguo 17/08/2006, 04:56
 
Fecha de Ingreso: julio-2005
Mensajes: 137
Antigüedad: 18 años, 11 meses
Puntos: 0
problemas con TOP 10

Hola de nuevo...

Mirar ahora el problema que tengo es el siguiente:

Quiero realizar un Top 10 de autores, lo que significa mostrar los 10 autores con mas canciones registradas, y lo que estoy utilizando es:

SQLusuaT="SELECT top 10 autor, Count(ID) AS Cantidad FROM mitabla GROUP BY autor"

y para visualizarlos :

Do while not rsusuaT.EOF
Response.Write rsusuaT("autor") & ": " & rsusuaT("Cantidad") & "<br>"
rsusuaT.MoveNext
Loop

Suponiendo q elimino el top 10 de la instrucción sql, me muestra todos los autores con su número de canciones registradas, pero yo lo que quiero es que me seleccione y me muestre aquellos 10 autores con mas canciones registradas.

alguien se le ocurre alguna cosa?

Gracias por la ayuda, saludos
  #2 (permalink)  
Antiguo 17/08/2006, 07:56
Avatar de JoshMex
Moderador Webhosting
 
Fecha de Ingreso: enero-2006
Mensajes: 4.057
Antigüedad: 18 años, 4 meses
Puntos: 166
Creo que debería ser así:

SELECT Top 10 autor FROM CANCIONES GROUP BY autor HAVING Count(autor)> 10

Estoy asumiendo que tienes una tabla CANCIONES y dentro de ella tienes un campo Autor que podría ser el código del mismo y buscas los diez primeros autores con más de 10 diez canciones.
__________________
JoshMex
Desarrollador Plataforma Microsoft / Windows / ASP / ASP.NET / SQL Server
Es inútil hacer cualquier cosa a prueba de tontos, porque los tontos son muy ingeniosos
  #3 (permalink)  
Antiguo 17/08/2006, 08:19
 
Fecha de Ingreso: julio-2005
Mensajes: 137
Antigüedad: 18 años, 11 meses
Puntos: 0
Joshmex, de la manera que me has indicado no funciona.

He puesto esta instrucción:

SQLusuaT="SELECT top 10 autor, Count(ID) AS Cantidad FROM songs GROUP BY autor HAVING Count(autor)> 10"

y ahora me muestra los primeros 10 empezando desde el principio de la tabla con mas canciones, pero no es correcto, ya que por ejemplo tengo un grupo con mas de 34 canciones y no aparece, por empezar su nombre por z.

No se si me he esplicado bien, el problema es que te muestra los primeros 10 con mas canciones empezando desde el inicio de la tabla y yo lo que quiero es que me muestre los 10 autores con mas canciones.

A ver si me podeis ayudar, gracias
  #4 (permalink)  
Antiguo 17/08/2006, 08:27
Avatar de JoshMex
Moderador Webhosting
 
Fecha de Ingreso: enero-2006
Mensajes: 4.057
Antigüedad: 18 años, 4 meses
Puntos: 166
Prueba así:

"SELECT top 10 autor, Count(ID) AS Cantidad FROM songs Order by Cantidad desc GROUP BY autor HAVING Count(autor)> 10"
__________________
JoshMex
Desarrollador Plataforma Microsoft / Windows / ASP / ASP.NET / SQL Server
Es inútil hacer cualquier cosa a prueba de tontos, porque los tontos son muy ingeniosos
  #5 (permalink)  
Antiguo 17/08/2006, 08:34
 
Fecha de Ingreso: julio-2005
Mensajes: 137
Antigüedad: 18 años, 11 meses
Puntos: 0
Joshmex, Gracias por responder tan rápido pero.... no va!

Con tu instucción me reporta error en el order by..

He puesto esta:

SQLusuaT="SELECT top 10 autor, Count(ID) AS Cantidad FROM songs GROUP BY autor HAVING Count(autor)> 10"

y hace lo mismo!!!!, no entiendo.

Muestra los 10 primeros con mas canciones empezando desde el principio, no lo entiendo.... yo lo que quiero es que me muestre los 10 con mas canciones de toda la tabla... es para volverse loco

Gracias
  #6 (permalink)  
Antiguo 17/08/2006, 08:53
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
insisto lee un poco este post

http://www.w3schools.com/sql/sql_groupby.asp
__________________
JuanRa Pérez
San Salvador, El Salvador
  #7 (permalink)  
Antiguo 17/08/2006, 08:59
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años, 1 mes
Puntos: 4
Por que no pruebas asi :

SELECT top 10 autor, Count(ID) AS Cantidad FROM mitabla GROUP BY autor order by COUNT(ID) desc

Última edición por orharo2003; 17/08/2006 a las 09:11
  #8 (permalink)  
Antiguo 17/08/2006, 09:04
 
Fecha de Ingreso: julio-2005
Mensajes: 137
Antigüedad: 18 años, 11 meses
Puntos: 0
orharo2003, PERFECTO, muchas gracias, funciona CASI BIEN!!!!

Ahora me muestra 11 registros, ya que hay dos que tienen el mismo número de canciones.

Muchas Gracias, MAESTRO
  #9 (permalink)  
Antiguo 17/08/2006, 09:12
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años, 1 mes
Puntos: 4
Me alegro
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:14.