根据预先计算的字段对记录进行排名

时间:2016-06-23 20:05:02

标签: sql sql-server

我有这个查询,我想弄清楚如何排名 在'状态'中的DENSE_RANK区域。状态是当前月份度量大于6个月平均值时的语句的行。 基本上我想按照按总和(收入)按区域划分按区域划分的最大到最小的“GoalAchieved”状态。与进入状态相同。

因此,每个地区的诽谤状态应该是1,2,3,4等级,对于“进展”状态应该是相同的。

任何帮助都会很棒。

SELECT DISTINCT a.ClinLocationID, Terrioty,
ClinLocationName, Round(Sum(revenue),2)

CASE WHEN CM > LastSixmosAvg  THEN 'GoalAchieved'
      ELSE 'InProgress'
     END as Status,
 --3 month test 
 CASE WHEN CM > Last3MosAvg  THEN 'Winner'
      ELSE 'Loser'
     END as ThreeMonthStatus,

  CASE WHEN CM > LastSixmosAvg  THEN RANK () OVER (partition by Terrioty order by Sum(Revenue) desc)

0 个答案:

没有答案