en el foro Lenguajes de Programación, que dice: "Tengo la siguiente Query
SELECT EQUIPO, Count(EQUIPO)
FROM V_DETENCIONES_TURNO
WHERE to_char(Fecha,'mm')='03' AND to_char(Fecha,'yyyy')='2008'
GROUP BY "
SELECT EQUIPO, Count(EQUIPO)
FROM V_DETENCIONES_TURNO
WHERE to_char(Fecha,'mm')='03' AND to_char(Fecha,'yyyy')='2008'
GROUP BY EQUIPO
ORDER BY Count(EQUIPO) DESC
La idea es poder seleccionaer los 5 primeros lugares de la query.
Se que se puede hacer por código, pero igual me gustaría saber si eso es posible definirlo en la query...
SELECT * FROM T LIMIT 10PostgreSQL, MySQL, SQLite, H2
SELECT * from T WHERE ROWNUM <= 10Oracle (also supports the standard, since Oracle8i) SELECT * FROM T FETCH FIRST 10 ROWS ONLYDB2 (also supports the standard, since DB2 v8)
SELECT TOP 10 * FROM T MS SQL Server (also supports the standard, since SQL Server 2005), Sybase ASE, SQL_Anywhere, MS Access
gracias por la respuesta. sin embargo eso no me funcionaba hacerlo directamente ya que si agrego esa opcion me limita la query a las 10 filas de la consulta, y lo que yo necesito es que me seleccione las 10 primeras filas del resultado.
Lo que tuve que hacer fué una doble consulta. No se si será la óptima, pero funciona
SELECT EQUIPO, FALLAS
FROM
(
SELECT EQUIPO, Count(EQUIPO) AS FALLAS
FROM V_DETENCIONES_TURNO
WHERE to_char(Fecha,'mm')='03' AND to_char(Fecha,'yyyy')='2008'
GROUP BY EQUIPO
ORDER BY Count(EQUIPO) DESC
)
WHERE ROWNUM <= 10
SELECT EQUIPO, Count(EQUIPO) AS FALLAS
FROM V_DETENCIONES_TURNO
WHERE to_char(Fecha,'mm')='03' AND to_char(Fecha,'yyyy')='2008'
GROUP BY EQUIPO, ROWNUM
HAVING ROWNUM <= 10
ORDER BY Count(EQUIPO) DESC
Originalmente publicado por Maledictum en un carrete
Pta, si me pusiera medio kilo de pechugas como la marlén olivarí, me iría de hocico al suelo
Quote:
Originalmente publicado por -Panchote-
osea si tu vas a algun lugar a solucionar un problema.. erres un pendejo lloron y todo lo que diceses? osea hello!!!!!
Quote:
Originalmente publicado por warezmen
aunque la referencia a balrog me excita màs debido a sus sensuales curvas
Frase célebre de hoy: "Debido a la gran cantidad de guiños y referencias relacionadas con el mundo informático, esta sección permanecerá siempre incompleta, al menos hasta que se complete"
SELECT EQUIPO, Count(EQUIPO) AS FALLAS
FROM V_DETENCIONES_TURNO
WHERE to_char(Fecha,'mm')='03' AND to_char(Fecha,'yyyy')='2008'
GROUP BY EQUIPO, ROWNUM
HAVING ROWNUM <= 10
ORDER BY Count(EQUIPO) DESC
asi me funciona a mi
Lo probé y me da el mismo error que al principio. Selecciona las 10 primeras filas de la tabla de origen y lo que necesito es que seleccione las 10 primeras de la tabla resultante.
Quote:
Originalmente publicado por unreal4u
no entendí eso de dejar "seleccionado" las 10 primeras ...
Yo también pienso lo mismo del LIMIT, pero no veo pq no debería funcionar
Saludos !!
Es para estadísicas. En la BD existen definidas alrededor de 160 causas de fallas posibles y se quiere saber cuales son las causas mas frecuentes. El objetivo es representar las 10 mas comunes en un indiciador gráfico que se muestra en la pagina de inicio del portal.
También por asunto de comodidad y optimizacion de recursos. Se que puedo hacer un ciclo desde 1 a 10 para seleccionarlas, pero si puedo evitar enviar una tabla de 160 filas en donde 150 no voy a usar por una de 10 filas en la que ninguna se queda en el aire, mejor. Asi me aseguro de que la pagina no demore tanto en cargar (al hacer cálculos innecesarios) ni tampoco sobreexigirle al servidor.
__________________
Editado por Duke_Quakem en 28-mar-2008 a las 11:36.