SELECT a.emp_no, a.salary, SUM(b.salary) FROM salaries AS a INNER JOIN salaries AS b ON a.emp_no >= b.emp_no WHERE a.to_date = '9999-01-01' AND b.to_date = '9999-01-01' GROUP BY a.emp_no, a.salary; 上面是我的代码,原理差不多。便于理解的话,可以先运行一下下面的代码。 SELECT a.emp_no, a.salary, b.emp_no, b.salary FROM salaries AS a INNER JOIN salaries AS b ON a.emp_no >= b.emp_no WHERE a.to_date = '9999-01-01' AND b.to_date = '9999-01-01'; 输出的结果是将每一个emp_no都与比自己小的emp_no重新组成了一条新纪录。 对于这个结果,只要将a的emp_no和salary进行group by,将b的salary求和就能得到答案了~
点赞

相关推荐

在看牛客的社畜很积极:身高体重那一行信息去掉,学校那一行的信息放上面,找半天都没找到你是哪个学校什么专业的
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务