2017-10-21 143 views
-2

编写一个SQL生成与给定条件的员工数据集的报告,如果平均年龄> 35则规定值notok数据集需要帮助解决这个SQL查询来了解

id name age dept salary 

1 tt 51 it 4000 
2 kk 56 it 6000 
3 mm 45 sales 7000 
4 kk 25 sales 9000 
5 op 24 hr 4000 
6 op 24 hr 8000 

输出

dept avgage states 
it 53.5 ok 
sales 35 ok 
hr 24 notok 
别的OK
+2

分享代码和请清楚解释您的问题... – GYaN

回答

0

使用此查询。

SELECT a.dept, 
     a.avgage, 
     CASE 
     WHEN a.avgage >= 35 THEN 'ok' 
     ELSE 'notok' 
     END states 
FROM (SELECT dept, 
       Avg (age) avgage 
     FROM employee 
     GROUP BY dept) a 
ORDER BY avgage DESC; 

注意:请表现出一定的精力去理解,写上自己的查询。