none
8 Maximos RRS feed

  • Pregunta

  • Buenas tardes;

    Trabajo con SQL Server y tengo el siguiente dilema.

    Tengo una serie de telefonos que estan en la columna TELEFONOS, y luego por otra parte tengo una columna identificatoria de cada llamada realizadas con esos telefonos.

    Necesitaria una query que me permitiera sacar los 8 maximos resultados de ID, DECADA TELEFONO



    La query base por decirlo de alguna manera seria la siguiente:

    select telefonos, ID
    FROM TABLATELEFONOS
    WHERE telefonos IN ('tlf1','tlf2','tlf3','tlf4','etc','etc2','muchos etc')
    ORDER BY ID DESD

    Esta QUERY me sacaria todas las llamadas de esos telefonos y me los ordenaria por ID


    pero necesito para cada IN que es un tlfx, me saque solo los 8 maximos ID (DE CADA TELEFONO), no todos los ID de cada telefono.


    Muchas gracias
    lunes, 13 de noviembre de 2017 19:16

Respuestas

  • Intenta lo siguiente:

    WITH T AS
    (
        SELECT telefonos, ID, ROW_NUMBER() OVER(PARTITION BY telefonos ORDER BY ID DESC) [F]
        FROM TABLATELEFONOS
        WHERE telefonos IN('tlf1', 'tlf2', 'tlf3', 'tlf4')
    )
    SELECT telefonos, ID FROM T WHERE F <= 8 ORDER BY telefonos, ID;
    GO

    lunes, 13 de noviembre de 2017 19:30

Todas las respuestas