风险率和不良率均为机构倒数10%的员工怎么求 SQL不要用变量
时间: 2024-12-01 21:29:01 浏览: 5
假设我们有一个名为`employees`的表,其中包含员工信息,包括`risk_score`(风险评分)和`bad_rate`(不良率)。如果我们想找出风险率和不良率都位于机构前10%的员工,我们可以直接编写SQL查询来获取这部分数据,不需要额外的变量。以下是具体的SQL查询示例:
```sql
SELECT *
FROM employees
WHERE (
risk_score = (SELECT MIN(risk_score) FROM employees ORDER BY risk_score DESC LIMIT 1 OFFSET (SELECT COUNT(*) FROM employees) * 0.9)
AND
bad_rate = (SELECT MIN(bad_rate) FROM employees ORDER BY bad_rate DESC LIMIT 1 OFFSET (SELECT COUNT(*) FROM employees) * 0.9)
);
```
这个查询首先计算出总员工数的90%,然后从最高风险率和最低不良率中分别选择对应位置的数据,以此来筛选出风险率和不良率都在前10%的员工。
阅读全文