У меня есть следующая хранимая процедура, которая возвращает 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;