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求和就能得到答案了~
点赞

相关推荐

06-23 11:28
门头沟学院 Java
牛客91966197...:也有可能是点拒绝的时候自动弹的话术
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务