SQL Server 2008 R2 — общее количество из диапазона чисел

#sql-server-2008-r2

#sql-server-2008-r2

Вопрос:

Могу ли я получить предложение о том, как сценарий написан для приведенного ниже случая

необходимо подсчитать количество членов из таблицы и назначить $ 1.00 для членов для первых 20 членов (1-20), назначить $ 1.10 для членов от 21-30, назначить $ 1.20 для членов от 31-40, и если у нас есть 50 членов для 1-го случая (назначить $ 1.00 для членовот 1-20, ) получаем всего 50 * 1 долларов США, и если у нас есть 70 участников для 2-го случая (назначьте $ 1,10 для участников от 21-30, ) получаем всего 70 * 1,10 долларов США, и если у нас есть 90 участников для 2-го случая (назначьте $ 1,20 для участников от 31-40, ) получаем всего$ 00 * 1.20

Ответ №1:

ЕСЛИ вы можете предоставить желаемый результат, помещенный в табличную форму, это легко понять, и любой орган может предоставить решение для этого….

Теперь я предлагаю этот запрос для того, что я понимаю….

 select ROW_NUMBER () over (order by Member) ID
,Member
,case 
when ID between 1 and 20 then 1.00
when ID between 21 and 30 then 1.10
when ID between 31 and 40 then 1.20
--when ID between 41 and 50 then $1.30  --Rest cases are not clear..
End Amount
from
(
        select ROW_NUMBER () over (order by UID_PatientAccountNumber) ID
,UID_PatientAccountNumber from 
test
)A
  

попробуйте этот код, если вы получите частичный результат до <= 40 членов, затем укажите остальные желаемые случаи, и я попытаюсь дать решение для этого в соответствии с моими знаниями (возможно, это не решения, основанные на производительности).