这一题是之前的笔试做到的
有一张人员-工资表:
no name salary year
1 a 8000 1999
1 a 17000 2000
2 b 9000 1998
2 b 10000 1999
3 c 10010 2000
....
求 1999-2000 人员工资涨幅超过 8000 的员工编号
我当时是这么写的
select s1.emp_no, (s1.salary - s2.salary) as addSalary from salaries as s1, salaries as s2 where s1.to_date like '%2000%' and s2.to_date like '%1999%' and s1.emp_no = s2.emp_no and (s1.salary - s2.salary > 8000)
但是总感觉怪怪的,这应该是个挺常见的需求,一般在业务中一般怎么写,求教各位大佬(前端实习生,sql 不太会,简单勿喷)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.