La función SQL Row_Number () es ordenar y asignar un número de orden a las filas de datos en un conjunto de registros relacionados. Por lo tanto, se utiliza para numerar filas, por ejemplo, para identificar las 10 filas principales que tienen la cantidad de orden más alta o identificar la orden de cada cliente que es la cantidad más alta, etc.
Si desea ordenar el conjunto de datos y numerar cada fila separándolos en categorías, usamos Row_Number () con la cláusula Partition By. Por ejemplo, ordenar los pedidos de cada cliente dentro de sí mismo donde el conjunto de datos contiene todos los pedidos, etc.
SELECT
SalesOrderNumber,
CustomerId,
SubTotal,
ROW_NUMBER() OVER (PARTITION BY CustomerId ORDER BY SubTotal DESC) rn
FROM Sales.SalesOrderHeader
Pero, según tengo entendido, desea calcular el número de filas agrupadas por una columna. Para visualizar el requisito, si desea ver el recuento de todos los pedidos del cliente relacionado como una columna separada además de la información del pedido, puede usar la función de agregación COUNT () con la cláusula Partition By
Por ejemplo,
SELECT
SalesOrderNumber,
CustomerId,
COUNT(*) OVER (PARTITION BY CustomerId) CustomerOrderCount
FROM Sales.SalesOrderHeader