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,在线等
- Oracle存储过程的几个问题,望指教
- em无法启动,求高手解决
- 用sql统计增加一行或者一列的合计
- sql server 2000数据库中的所有存储过程如何高效地导入oracle9i中?
- oracle 里取别名是不是 as 呀,我用了as后假如不对别名group by 就好的,否则就报 那个别名无效 为啥呀
- 请问一个substr问题
- 这个问题如何解决
- 如何在scounix 5.05eb中安装oracle7 workgroup,(100分求救)
- Oracle自带的jobs 4002能不能删除?
- 导数据的问题,是大虾的请进!!!!
- 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.日期(+)