У меня есть следующая хранимая процедура, которая возвращает A, B и счетчик в порядке убывания. Я пытаюсь использовать ROW_NUMBER, поэтому я могу записать записи, но я хочу, чтобы номер первой строки 1 был записью с наивысшим счетчиком, поэтому в основном, если я верну таблицу с 3 записями, а счет 30, 20, 10, то номер строки 1 должен соответствовать счету 30, номер строки 2 должен соответствовать счету 20, а номер строки 3 должен соответствовать счету 10. dbo.f_GetCount - это функция, возвращающая счетчик.
create procedure dbo.Test
as
@A nvarchar(300) = NULL,
@B nvarchar(10) = NULL
as
select @A = nullif(@A,'')
      ,@B = nullif(@B,'');
select h.A
      ,hrl.B
      ,dbo.f_GetCount(hrl.A,h.B) as cnt
from dbo.hrl
    inner join dbo.h
        on h.C = hrl.C
where(@A is null
      or h.A like '%'[email protected]+'%'
     )
     and (@B is null
          or hrl.B = @B
         )
group by hrl.B
        ,h.A
order by cnt desc;
