场景

        嵌套查询,将一张表的查询结果作为另一条语句的查询对象。

select *,dense_rank() over(order by 地区总分 desc) 地区排名 from (
select *,ROW_NUMBER() over(partition by 地址 order by 数学成绩 desc) 区内排名,
SUM(数学成绩) over(partition by 地址) 地区总分 from students)

报错

原因

        SQL server 中嵌套查询需要给子查询得到的结果集命名

纠正

select *,dense_rank() over(order by 地区总分 desc) 地区排名 from (
select *,ROW_NUMBER() over(partition by 地址 order by 数学成绩 desc) 区内排名,
SUM(数学成绩) over(partition by 地址) 地区总分 from students) t1

新手上路,有不足之处还望各位大佬指出

更多推荐