sql server - una - row_number() Agrupar por?
row_number() sql server (2)
Tengo un conjunto de datos que contiene las columnas Date
, Cat
y QTY
. Lo que quiero hacer es agregar una columna única que solo cuente valores únicos de Cat
cuando haga el recuento de filas. Esto es lo que quiero que mi conjunto de resultados se vea así:
Al usar la consulta SQL a continuación, puedo obtener una fila usando la función row_number()
.
Sin embargo, no puedo obtener esa columna única que he descrito anteriormente. Cuando agrego group by a la cláusula OVER
, no funciona. ¿Alguien tiene alguna idea de cómo puedo hacer que funcione esta columna de recuento única?
SELECT
Date,
ROW_NUMBER() OVER (PARTITION BY Date ORDER By Date, Cat) as ROW,
Cat,
Qty
FROM SOURCE
Aquí hay una solución alternativa.
No necesita preocuparse por el pedido de Cat. Usando el siguiente SQL, podrá obtener valores únicos para su combinación de Fecha y Gato.
SELECT
Date,
ROW_NUMBER() OVER (PARTITION BY Date, Cat ORDER By Date, Cat) as ROW,
Cat,
Qty
FROM SOURCE
DENSE_RANK() OVER (PARTITION BY date ORDER BY cat)