sql - 您可以根据多个标准在 SQL 中创建百分位排名吗?
问题描述
我正在尝试根据客户的财务状况创建一个百分位排名。财务分数从 0 到 1000。这会创建一个百分位数,
SELECT AccountID, FirstName, LastName, FinancialScore,
PERCENT_RANK() OVER(
ORDER BY FinancialScore) AS PctRank
FROM CustomerTable
ORDER BY Financial DESC
AccountID FirstName LastName FinancialScore Income Score Rank
1 John Doe 900 4510
2 Jane Doe 345 1000
但我想知道我是否可以让百分位数考虑多种财务状况指标,范围不是 0-1000?
编辑:我也刚刚注意到百分位排名仅基于前 2 个数字的排名(例如 99 高于 970)?
解决方案
不是 100% 清楚预期的结果,但您可以对财务和收入分数的乘积进行排名……这些也可以加权
例子
Declare @YourTable Table ([AccountID] varchar(50),[FirstName] varchar(50),[LastName] varchar(50),[FinancialScore] varchar(50),[Income Score] varchar(50)) Insert Into @YourTable Values
(1,'John','Doe',900,4510)
,(2,'Jane','Doe',345,1000)
Select *
,Ranked = dense_rank() over (order by try_convert(int,FinancialScore) * try_convert(int,[Income Score]) desc)
from @YourTable
退货
AccountID FirstName LastName FinancialScore Income Score Ranked
1 John Doe 900 4510 1
2 Jane Doe 345 1000 2
推荐阅读
- node.js - ERR node-sass@4.7.2 安装后:`node scripts/build.js`
- spring-mvc - 编辑操作的 CRUD JDBC 模板问题
- c# - 使用 C# 代码查询 Azure Active AD 用户时出现异常
- python - Pandas 根据以另一列为条件的随机值样本替换 NaN 值
- javascript - xAxis tickInterval 在全屏时抛出错误
- ios - UICollectionView/UITableView 委托/数据源函数在 Clean Swift 中应该放在哪里 [Uncle Bob 的干净架构]
- apache-spark - Power BI/Query 避免在 GROUP BY 之前实现联接结果
- jquery - 试图找到包含然后匹配数字的属性
- progressive-web-apps - iOS 上 PWA 中的后退按钮
- pandas - 如何对一个值进行分组,对一列求和并在另一列中保持相等的值?