none
Obtener top 10, en un rango de x numero de registros RRS feed

  • Pertanyaan

  • Buen dia a todos, tengo 2 tablas, de las cuales al unirlas obtengo aproximadamente 80 registros de la siguiente manera:

    SELECT IdEmp, NameEmp, SUM(Tot) AS Total
    FROM HorasLaboradas
    INNER JOIN empleados ON empleados.NumEmp = HorasLaboradas.NumEmpl 
    GROUP BY IdEmp, NameEmp
    ORDER BY Total DESC

    Hasta aqui todo bien, obtengo todos los empleados con su nombre y un total de horas.

    Aqui es donde tengo la siguiente duda:

    Tengo un numero de empleado, y deseo obtener los 5 registros anteriores y los 5 registros posteriores del usuario que estoy buscando, es decir un top 10, pero apartir de un empleado, esto es para obtener una lista de 10 empleados, pero siempre debe aparecer el usuario que busco.

    Por ejemplo si buscara al empleado 500 pero apareceria en la posicion 25, tendria q obtener un top entre la posicion 10 y 30

    Posicion  NumeroEmpleado Total

     20          235                    65

     21          120                    60

     22          050                    58

     22          003                    55

     23          355                    50

     24          189                    45

     25          500                    40

     26          001                    35

     27          100                    30

     28          380                    27

     29          070                    25

     30          200                    20

    Pueden guiarme sobre si es posible realizar esto en una sentencia sql?, o pueden quiarme?, uso sql server 2012.


    Sabtu, 17 Agustus 2019 19.02

Jawaban

Semua Balasan