tengo que crear una columna row_number ordenado por una suma agrupados, cuando se utiliza SQL:no se puede usar un alias en ROW_NUMBER() en SQL Server?
select Sales.Name, SUM(Sales.Bill) as billsum, ROW_NUMBER() over (order by billsum DESC) as rn
from Sales group by Sales.Name
En ella se informa de error porque row_number más No se puede analizar el alias "billsum", tengo que escribir:
select Sales.Name, SUM(Sales.Bill) as billsum, ROW_NUMBER() over (order by SUM(Sales.Bill) DESC) as rn
from Sales group by Sales.Name
así que aquí escribo SUM (Sales.Bill) dos veces, ¿hay alguna forma de usar el alias aquí?
definiendo el alias en otra parte de la consulta, tal como una [CTE o Aplicar] (http://stackoverflow.com/questions/7269195/is-it-possible-to-reuse- aggregate-functions-results-in-the-same-select/7269212 # 7269212) parte. Celko explica por qué [aquí] (http://joecelkothesqlapprentice.blogspot.com/2006/06/reference-alias-field-name.html) –