难度困难
SQL架构
给如下两个表,写一个查询语句,求出在每一个工资发放日,每个部门的平均工资与公司的平均工资的比较结果 (高 / 低 / 相同)。
表:salary
id |
employee_id |
amount |
pay_date |
1 |
1 |
9000 |
2017-其它垃圾包括哪些垃圾03-31 |
2 |
6000 |
2017-03-31 |
|
3 |
3 |
10000 |
2017-03-31 |
4 |
1 |
7000 |
2017-02-28 |
5 |
2 |
6000 |
2017-02-28 |
6 |
3 |
8000 |
2017-02-28 |
employee_id字段是表employee
中employee_id其它和其他的用法区别字段的外键。
employee_id | |
1 |
1 |
2 | |
3 |
2其它垃圾包括哪些垃圾 |
对于如上样例数据,结其它果为:
pay_month |
department_id |
comparison |
2017-03 |
1 |
higher |
2017-03 |
2 |
lower |
2017-02 |
sa其它垃圾桶的颜色me |
2017-02 |
2 |
same |
解释
在三月,其它货币资金公司的平均工资是 (9000+6000+10000)/3 = 8333.33...
由于部门 '1' 里只有一个employee_id为 '1' 的员工,所以部门 '1' 的平其它的拼音均工资就是此人的工资 9000 。因为 9其它平书网大全000 > 8其它和其他的用法区别333.33 ,所以比其它货币资金较结果是 'higher'。
第二个部其它与其他的区别门的平均工资为employee_id为 '2' 和 '3' 两个人的平均工资,为 (6000+10000)/2=8000 。因为 8000 < 8333.33 ,所以比较结果是 'lower' 。
在二月用同样的公式求其它垃圾包括哪些垃圾平均工资并比较,比较结果为 's其它民族有什么传统节日ame'其它垃圾 ,因为部门 '1' 和部门 '2' 的平均工资与公司的平均工资相同,都是 7000 。
公众号「信息技术智库」
发表评论