|
|
1
10
尝试CTE-公用表表达式:
这将按降序排列前五名的薪水-您可以使用
有
other ranking functions
也可以在SQL Server中使用-例如
这将把你的工资分成10组,大小相等的一组
|
|
2
9
(或使用)
|
|
|
3
5
|
|
|
4
3
|
|
|
5
1
试试这个。
|
|
|
6
1
它可以简单地做如下的第二高-
但对于第n个最高值,我们必须使用CTE(公共表表达式)。 |
|
|
7
1
试试这个。使用CTE很容易找到n个等级的项目 **
** |
|
|
8
1
显示5分钟SAL EMP表。
|
|
|
9
1
要找到第n个最高工资:
SQL查询->这里n是要找到的最高工资:
|
|
|
10
1
如果有重复的条目
30000,
然后上面所选的查询将不会返回正确的输出。 查找正确的查询,如下所示:
|
|
|
11
0
|
|
|
12
0
这在Oracle中有效 |
|
|
13
0
为了找到第n个最高的工资,我们只考虑唯一的工资,最高的工资意味着没有比它高的工资,第二个最高的工资意味着只有一个工资比它高,第三个最高的工资意味着两个工资比它高,同样,第n个最高的工资意味着n-1的工资比它高。 好吧,你可以用 极限 关键字,提供分页 能力。您可以这样做:
例:MySQL第二高薪,无子查询:
|
|
|
14
-1
使用MS SQL Server的最高SAL:
第二高SAL:
|
|
|
15
-2
如果我们需要找不到行数、排名、密集排名和子查询的第n个最高工资怎么办? 希望下面的查询能有所帮助。 从[dbo]中选择*。[test]按薪资描述排序
结果:4000,第二高。 |