none
Saber cuantas veces se repite un valor RRS feed

  • Pregunta

  • Hola a todos, tengo un detalle con una consulta y no lo he podido resolver, espero me puedan ayudar.

    Tengo el siguiente query:

    Como se puede apreciar la factura (sNumero) 23744CD40... se repite 3 veces (en la referencia 1521/2015, 1521/2015-01,1521/2015-02), lo que necesito es agregar una columna donde me diga el numero de veces que se repite la factura (para este ejemplo seria 3 veces).

    De antemano gracias, saludos.


    A_R_I_E_S

    lunes, 3 de agosto de 2015 16:04

Respuestas

  • Opción

    select snumero,count(sreferencia) from tutabla group by snumero

    o bien

    select snumero,count(distinct sreferencia) from tutabla group by snumero

    Si lo que quieres es tener las referencias que ya tienes y además ese número.

    with mycte as (

    select snumero,count(distinct sreferencia) repeticiones from tutabla group by snumero)

    select * from tutabla  t inner join mycte c on  on t.snumero=c.snumero and t.sreferencia=c.sreferencia


    Comparte lo que sepas, aprende lo que no sepas (FGG)
    portalSQL
    El rincón del DBA


    lunes, 3 de agosto de 2015 16:09
    Moderador

Todas las respuestas

  • Opción

    select snumero,count(sreferencia) from tutabla group by snumero

    o bien

    select snumero,count(distinct sreferencia) from tutabla group by snumero

    Si lo que quieres es tener las referencias que ya tienes y además ese número.

    with mycte as (

    select snumero,count(distinct sreferencia) repeticiones from tutabla group by snumero)

    select * from tutabla  t inner join mycte c on  on t.snumero=c.snumero and t.sreferencia=c.sreferencia


    Comparte lo que sepas, aprende lo que no sepas (FGG)
    portalSQL
    El rincón del DBA


    lunes, 3 de agosto de 2015 16:09
    Moderador
  • Hola A_r_i_e_s,

    Para el caso, ¿imagino que lo que requieres es que en la primera coincidencia te diga 1, en la segunda 2 y en la tercera 3?

    Puedes hacer lo siguiente:

    SELECT
    	sreferencia,
    	sNumero,
    	ROW_NUMBER() OVER (PARTITION BY sNumero ORDER BY sreferencia) AS [NumCoincidencias]
    FROM
    	MiTabla
    ORDER BY
    	sreferencia;

    Si la solución propuesta atendió su consulta no olvide marcarla como respuesta.

    Willams Morales
    Arequipa - PERÚ

    lunes, 3 de agosto de 2015 16:14
  • utiliza select distinct sreferencia,snumero from nametabla

    esto omitira los repetidos y solo te mostrara uno

    lunes, 3 de agosto de 2015 18:16
  • gracias a todos por su ayuda!

    Pude resolver el problema.


    A_R_I_E_S

    martes, 4 de agosto de 2015 14:26