sql - sql rank 显示请求的rank数
问题描述
询问:
SELECT distinct
rank() OVER (ORDER BY p.service) as rank,
p.service,
From table_service
Where 1=1
输出:
等级:1 | 服务:test1
排名:2 | 服务:test2
排名:3 | 服务:test3
我怎样才能只显示 Rank 2 ?
我试过这个但不工作:
SELECT distinct
rank() OVER (ORDER BY p.service) as rank,
p.service,
From table_service
Where rank = 2
任何想法?
解决方案
您可以尝试使用子查询,因为where
不能使用别名来做条件。
SELECT * FROM (
SELECT
rank() OVER (ORDER BY p.service) as rank,
p.service,
From table_service
) t1
where rank = 2
推荐阅读
- javascript - 超时运行 Mocha 测试永远不会完成
- abp - 无法登录 ABP.io。数据库中没有用户
- javascript - 如何使用按钮更改 javascript 代码的样式?
- html - 将屏幕截图粘贴到的适当 html5 输入占位符是什么?
- node.js - 如何创建地理编码服务(查找与给定点相交的多边形)
- java - 为 Java Swing MVC 运行驱动程序不显示视图
- vue.js - VueJS 动态数据 + v-model
- python-3.x - 无法使用 Python OpenCV 4.1.2-dev 读取 .avi 文件
- mysql - 如何通过 id 选择值的总和?SQL
- google-maps - 授予权限后重新加载我的位置按钮