sql 一张表 组合查询急急急!!!!!!!

来源:百度知道 编辑:UC知道 时间:2024/05/05 08:23:04
有1张表,

Wages 表
-------------------------------------------
Emp_id | 基本工资| 工龄工资 |
-------------------------------------------
1 | 1.00 | 1.00 |
-------------------------------------------
2 | 1.00 | 2.00 |
-------------------------------------------
3 | 1.00 | 3.00 |
-------------------------------------------
4 | 1.00 | 4.00 |
-------------------------------------------
.........

请从上表用 “一句组合查询” 查询出工资统计表,要求检索出的内容格式如下:

Select Emp_id, 基本工资,工龄工资, 基本工资+工龄工资 as合计

-----------------------------------------------------------------
Emp_id | 基本工资| 工龄工资 | 合计 | 名次
------------------------------------------------------------------
1 | 1.00 | 1.00 |2.00 | x
------------------------------------------------------------------
2 | 1.00 | 2.00 |3.00 | y
------------------------------------------------------------------
3 | 1.00 | 3.00 |4.00 |

是按合计工资排名次吧?我能想到的方法就是用子查询了

select Emp_id, 基本工资,工龄工资, 基本工资+工龄工资 as合计,(select count(*)+1 from Wages where 基本工资+工龄工资>a.基本工资+a.工龄工资)
from Wages a

如果有合计工资相同的,这些相同的名次是一样的,比如合计工资最多的有两个,那么这两个名次都是1,比这两个少的就从3开始排名了。

有人能看懂吗?