select '本月入职', count(*) from table_name
where in_date between trunc(sysdate, 'mm') and sysdate
union
select '本月入职', count(*) from table_name
where out_date between trunc(sysdate, 'mm') and sysdate
where in_date between trunc(sysdate, 'mm') and sysdate
union
select '本月入职', count(*) from table_name
where out_date between trunc(sysdate, 'mm') and sysdate
解决方案 »
- 初学者SQL语句问题
- rman的catalog tablespace删除了怎么办?
- SQL语句在 PL/SQL中能正确的执行,并得出结果,在pro*C中编译出错?!
- oracleconnection中的连接字符串Integrated Security=yes的问题
- 100分求一sql语句
- 关于模糊查询的错误
- 没用过Oracle,想问一下,我能用别人的数据库吗?
- ~~~碰到难题了,再做不出来,老板逼我从金茂大厦上跳下来了!!!求求你们救救我吧~~~~~~
- 从ORACLE中文版里导出,导入ORACLE英文版后,汉字为乱码,咋办?
- 大虾快帮忙,看看了
- 导数据的问题,是大虾的请进!!!!
- Oracle数据库出错,大家来帮忙看看,指导一下怎么解决呀~~救命哟!
select t,(select count(*) from 表 where in_date=t),(select count(*) from 表 where out_date=t) from (select to_char(yourdate+rownum-1,'yyyy-mm-dd') t from testtable where rownum<=(add_months(yourdate,1)-yourdate))
FROM
(
SELECT TO_CHAR(TO_DATE('2005-05-01', 'YY-MM-DD') + ROWNUM - 1, 'YYYY-MM-DD') AS 日期
FROM TABLE_NAME
WHERE ROWNUM <=31
) W,
(
SELECT TO_CHAR(IN_DATE,'YYYY-MM-DD') AS 日期,COUNT(*) AS 入职人数
FROM TABLE_NAME
WHERE TO_CHAR(IN_DATE,'YYYYMM') = '200505'
GROUP BY TO_CHAR(IN_DATE,'YYYY-MM-DD')
) U,
(
SELECT TO_CHAR(OUT_DATE,'YYYY-MM-DD') AS 日期,COUNT(*) AS 离职人数
FROM TABLE_NAME
WHERE TO_CHAR(OUT_DATE,'YYYYMM') = '200505'
GROUP BY TO_CHAR(OUT_DATE,'YYYY-MM-DD')
) V
WHERE W.日期 = U.日期(+) AND W.日期 = V.日期(+)