2017-04-02 156 views
0

我有一张表格,里面包含该县所有学校的测试统计数据。我试着去显示前10排名的学校,其中写作和阅读成绩之间的差异是最大的排名前10位,但按字母顺序排序,然后按排名。 SQL

select * 
    from 
     (select SchoolName, WriPassingPer, ReaPassingPer, 
     (WriPassingPer - WriPassingPer) as Difference, dense_rank() over 
       (order by ABS(WriPassingPer - WriPassingPer) desc) as rnk from Pima) 
    where rnk <= 10; 

我希望它看起来像

Rank | School Name | Writing Score | Reading Score | Difference 

但此刻它刚上市时每一个在县的学校有1或2的等级。全县有283所学校

回答

2

你计算WriPassingPer - WriPassingPer而不是WriPassingPer - ReaPassingPer或类似的东西...

+0

Omg。谢谢。我很惭愧 –

+1

好吧,不要,我们都去过那里了(我们有些人还时不时!) –

+0

跟进问题。如何忽略WriPassingPer和ReaPassingPer的所有空值? –