如何根据多个条件添加显示行总数百分比的列

时间:2016-02-16 10:17:38

标签: sql-server sql-server-2008 tsql

以下是我希望如何布置数据的方法:

CompanyName |No_of_Records |AvgCost |%Correct   |Cat1   |Cat2   |Cat3   |Cat4

我可以非常轻松地填充查询中的前四列,但我在如何填充类别列方面苦苦挣扎。我试图显示符合以下条件的记录总数的百分比:

  • Category1 = where AvgCost > Overall AVGCost AND %Correct > 100%
  • Category2 = where AvgCost > Overall AVGCost AND %Correct < 100%
  • Category3 = where AvgCost < Overall AVGCost AND %Correct > 100%
  • Category4 = where AvgCost < Overall AVGCost AND %Correct < 100%

提前感谢您对此的任何帮助。 :)

编辑:这是下面显示的数据的图像,以及我希望它返回上面的结果 - 因此AvgCost只是基于CompanyName的成本列的平均值({{1 }})

enter image description here

2 个答案:

答案 0 :(得分:0)

select 
CompanyName ,
No_of_Records,
AvgCost,
[%Correct],
case 
when AvgCost > AVGCost AND [%Correct] > 100% end 'Category1 ',
you can add further categories and conditons like this

希望这会有所帮助

答案 1 :(得分:0)

以下是我如何获得你在那里得到的结果。 avgCost和[%Correct]需要更好的舍入。

http://goo.gl/oRfrUp