SQL 怎么用指定条件查询RANK函数生成的新排名列?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL 怎么用指定条件查询RANK函数生成的新排名列?相关的知识,希望对你有一定的参考价值。
比如这样一张表
testxingming fenshu
张三 70
李四 80
王五 90
赵六 95
然后用SELECT xingming,fenshu,RANK() OVER(ORDER BY fenshu DESC) as paiming from test
能够生paiming列
问题是 paiming 列是临时生成的,我需要对paiming列做条件筛选,比如只选择排名大于1且小于4的行,想在后面加上 where paiming >1 and paiming <4
这时提示 "列名 'paiming' 无效"
请问大神这个问题有解吗?因为实在不想在数据表里添加一列"paiming",因为科目太多,会带来巨大的麻烦。。。
select *
from (SELECT xingming,fenshu,RANK() OVER(ORDER BY fenshu DESC) as paiming from test
) t
where paiming >1 and paiming <4本回答被提问者采纳
以上是关于SQL 怎么用指定条件查询RANK函数生成的新排名列?的主要内容,如果未能解决你的问题,请参考以下文章