当前位置: 代码迷 >> Oracle开发 >> 数据库面试题,该怎么处理
  详细解决方案

数据库面试题,该怎么处理

热度:102   发布时间:2016-04-24 06:46:31.0
数据库面试题

1、第一题可以根据部门ID分组,以decode的方式实现
2、第二题怎么做?
------解决方案--------------------
用最小值大于7判断即可,需要的话,一会我给你写sql
------解决方案--------------------

SELECT 部门
  FROM A 
 WHERE 业绩 > 7
 GROUP BY 部门
HAVING COUNT(1) = (SELECT COUNT(DISTINCT 月份) FROM A)

------解决方案--------------------
select t1.depart,count(*) from (select * from t where t.yeji>7) t1
group by t1.depart
having count(*)=(select count(distinct mth) from t);

------解决方案--------------------
先统计出各部门业绩大于7的月份次数,然后比较次数和总月份的值
 SELECT * FROM A 
       select T.部门 FROM 
       (SELECT A.部门,COUNT(A.月份) 次数 from A WHERE A.业绩>7 GROUP BY A.部门) T 
       WHERE T.次数=( select count( distinct a.月份) from a)
  相关解决方案