在使用 ROW_NUMBER() 等函数时添加了筛选条件 (WHERE 子句)
时间: 2024-04-24 15:23:15 浏览: 115
ROW_NUMBER()函数
当在使用 ROW_NUMBER() 等函数时,你可以在筛选条件中使用 WHERE 子句来对结果进行进一步的过滤。这样可以确保只有满足特定条件的行才会被计算行号或者其他相关函数的结果。
例如,假设你有一个名为 `employees` 的表,其中包含员工的姓名和薪水信息。你想要按照薪水降序排列,并且只选择薪水大于 5000 的员工,同时计算他们的行号。你可以使用以下 SQL 查询:
```sql
SELECT ROW_NUMBER() OVER (ORDER BY salary DESC) as row_num, name, salary
FROM employees
WHERE salary > 5000;
```
在这个查询中,我们先按照薪水降序进行排序,然后使用 WHERE 子句筛选出薪水大于 5000 的员工。最后,使用 ROW_NUMBER() 函数计算每个符合条件的员工的行号,并通过别名 `row_num` 返回。
阅读全文