Archivos para noviembre, 2009

Sea la consulta:

SELECT primera_columna, segunda_columna
  FROM mi_tabla

Si queremos recuperar los registros que se encuentran entre las filas n_start_row y n_end_row, nuestra consulta seria:

        SELECT *
          FROM ( SELECT A.*, ROWNUM row_number
                   FROM (
                        SELECT primera_columna, segunda_columna
                        FROM mi_tabla
                    ) A
                  WHERE ROWNUM <= n_end_row
            )
        WHERE row_number >= n_start_row;

Ahora si queremos paginar, primero tendriamos que saber cuantos registros recupera nuestra consulta (n_row_count) y definir el número de registros por cada página (n_page_size). Por ejemplo:

DECLARE
    CURSOR c_row_count
    IS
        SELECT count(1)
        FROM (
            SELECT primera_columna, segunda_columna
            FROM mi_tabla
        );
    --
    n_page_size   NUMBER(2) := 10;
    n_row_count   c_row_count%ROWTYPE;
BEGIN
    OPEN c_row_count;
    FETCH c_row_count INTO n_row_count;
    CLOSE c_row_count;
    --
    -- Pintamos los números de las páginas
    --
    IF n_row_count > n_page_size
    THEN
        FOR x IN 1..CEIL(n_row_count/n_page_size)
        LOOP
            dbms_output.put_line('n_page_number: ' || x);
        END LOOP;
    END IF;
END;
/

Asumiendo que el número de la pagina sea n_page_number y el número de registros por página sea n_page_size.

        SELECT *
          FROM ( SELECT A.*, ROWNUM row_number
                   FROM (
                        SELECT primera_columna, segunda_columna
                        FROM mi_tabla
                    ) A
                  WHERE ROWNUM < ((n_page_number * n_page_size) + 1 )
            )
        WHERE row_number >= (((n_page_number-1) * n_page_size) + 1);

Libro Scrum Manager – Gestión de Proyectos

Publicado: noviembre 26, 2009 en Miscelánea
Etiquetas: , ,

Esta disponible el libro de texto para el área de gestión de proyecto en la plataforma de conocimento abierto de Scrum Manager. Ofrece en la segunda parte un conocimiento general y completo de las prácticas ágiles de Scrum para la gestión de proyectos, después de haberles dado un marco de situación la primera parte del libro para ayuda a comprender la razón, fortalezas, debilidades e idoneidad de la gestión clásica y la gestión ágil,  y establecer el contrapunto de ésta última con las prácticas, modelos y gestión de proyectos tradicional.

Se puede descargar  gratuitamente, o colaborar con su compra en el desarrollo de la plataforma Open Knowledge Scrum Manager.

Descargar:
http://www.scrummanager.net/files/sm_proyecto.pdf

Original:
http://www.navegapolis.net/content/view/937/61/

Via:
http://www.bizzit.es/blog/?p=2828

Aparte de las cláusulas especificas de cada base de datos, la clave esta en utilizar ORDER BY ASC (ordenación de menor a mayor) para los primeros resultados y ORDER BY DESC (ordenación de mayor a menor) para los últimos resultados de la consulta.

Sea la consulta:

select primera_columna,
       segunda_columna
  from mitabla

En los ejemplos estamos recuperando los últimos 10 resultados de la consulta.

Para MS SQL Server ó MS Access, utiliza la cláusula TOP:

select TOP 10
       primera_columna,
       segunda_columna
  from mitabla
 order
    by primera_columna desc

Para MySQL ó PostgreSQL, utiliza la cláusula LIMIT:

select primera_columna,
       segunda_columna
  from mitabla
 order
    by primera_columna desc
 limit 10

Para Oracle, utiliza la cláusula ROWNUM:

select *
  from ( select primera_columna,
                segunda_columna
           from mitabla
          order
             by primera_columna desc )
 where rownum <= 10

Para DB2, utiliza la cláusula FETCH FIRST:

select primera_columna,
       segunda_columna
  from mitabla
 order
    by primera_columna descending
fetch first 10 rows only